c语言菜鸟问题

郎里个郎里个郎 发布于 2013/11/10 21:34
阅读 225
收藏 0
char a[10]; scanf("%s",a). 为什么 printf("%s" , a)中也是a //我想输出a字符串
加载中
0
杨同学
杨同学

例如

int i; scanf("%d", &i);

因为c语言函数调用是值传递,如果传递给scanf的第二个参数是i的话,scanf就没有办法改变我们的i值了,所以我们把指针传递给scanf,然后scanf就可以改变i的值了。同理,scanf("%s", a);也是传递一个数组指针,这样scanf就可以修改整个数组的内容了。

而在printf的时候,对于字符数组,我们传递的是数组的地址,这样printf就可以读到整个数组的内容了

0
z
zhongxh
目测代码没问题啊
返回顶部
顶部