#include<stdio.h>
int main() {
char str[]={'1','2','3'},*p;
p=str;
printf("%c",p);
return 0;
}
输出-@。
它不应该打印1或%c
可能是原因?
发布于 2015-11-05 04:23:16
要打印指针上的值(如您所预期的1 ),您需要取消对该指针的引用。在你的情况下,
printf("%c",p);
应该是
printf("%c", *p);
printf("%c",p);
将调用未定义的行为,因为提供的参数类型将与提供的格式说明符不匹配。
发布于 2015-11-05 04:24:01
P是一个指针。
你想要printf("%c",*p);
https://stackoverflow.com/questions/33531262
复制相似问题