下列程序段的输出是_____。
char *a[2]={"one", "two"}, **p=a;
printf("%s,", *(p++)+1);
printf("%c\n", **p-1);
*(p++)+1指向n输出ne
追答指针就是地址值,*(p++)是一个地址值,此时的指向第一行,也是a[0][0]的地址,那再加1,不就是a[0][1]的地址了吗?*(p++)也就是a[0][1],指针指向了了a[0][1],即n了,printf("%s,", *(p++)+1);就是输出指针位置开始的字符串,也就是"ne"。
还有:C语言二维数组的指针运算*p+1与*(p+1)含义是不一样的,前者是下移一个列(元素),后者是下移一行。
所以*(p++)+1中的++是改变行,+1中的加号是改变列。
不是
Ne, s (ne给1分, s给1分)
追答那答案是?
追问^_^
追答不懂为什么是Ne
追问我也不懂
我去调试一下
追答恩