怎么改程序才能得到A?我把printf里的%s改为%c不能得到A这是为什么?谢谢大佬,嘤嘤嘤

怎么改程序才能得到A?我把printf里的%s改为%c不能得到A这是为什么?谢谢大佬,嘤嘤嘤以下程序运行结果是()
main()
{
char a[]="1357",*p;
for(p=a;p<a+4;p++)
printf("%s",p);
}
A. 1357 B. 1357357577

printf("%c",*p);追问

能不能告诉我一下这是为什么啊?

追答

p是一个指针,你要取它里面的内存地址所存储的内容,就要写做*p

追问

那原来是%s的时候,怎么不用*p,源程序是p,那是地址,怎么读出来东西了呢

追答

这个网上解释的比较多了,你可以搜索下 C指针详解 之类的内容会更清楚点,比如象这种网页链接

简单来说就是%s要求参数必须是个指针,而%c之类的则要求参数是个具体的值

追问

好的👌

温馨提示:答案为网友推荐,仅供参考
相似回答