scanf参数是变量地址

来源:百度知道 编辑:UC知道 时间:2024/06/29 20:41:16
为什么这段code就有错误:
int man = 0;
scanf("%d", man);
这段code:
char input[5];
scanf("%s", input);
printf("%s\n", input);
就可以run呢?scanf需要的是变量地址啊,怎么作为char型变量,不用&也可以呢?谢谢!

给你解释一下吧:
1、字符串变量在计算机中是按字符数组的形式处理的。而字符数组名代表的是
字符数组的首地址,也就是说input本身就是地址啦,帮不用再添加 &
2、不好意思,你的第二行代码中的man前应该添加: &
继续加油!!

char input[5],并不是因为他是char,而是单独写input意思是数组的首地址,也就是input[0]的地址,所以scanf("%s", input);不用加&。
同样printf("%s\n", input);也不用加