简单程序得结果

来源:百度知道 编辑:UC知道 时间:2024/06/15 22:57:20
该程序的输出结果是____?
const char *p=”12345”;
const char **q=&p;
*q=”abcde”;
const char *s=++p;
p=”xzwas”;
printf(“%c\n”,*++s)
请在后面给个注释,后面附上答案

好题啊。不知道我解释的对不:
输出
c
解释:
const char *p="12345"; //定义p为指向一个字符串常量的常量指针,所以p的值(其实就是地址)是不会由于p的赋值变的
const char **q=&p;
*q="abcde";//这里用q强制修改了p的值
const char *s=++p;//这个时候,p已经指向"bcde",所以s指向里面的b
p="xzwas"; //没用
printf("%c\n",*++s);//这时,s指向c
所以,输出为c

c
Press any key to continue

main() {
const char *p="12345"; //”12345”->"12345"
const char **q=&p;
*q="abcde"; //”abcde”->"abcde"
const char *s=++p;
p="xzwas"; //”xzwas”->"xzwas"
printf("%c\n",*++s); //“%c\n”->%c\n" & missing ;
}

程序出错~~~("“"这个不认识,最后一句没有";")

结果是报错了~~

楼上正解!!!