函数char s[5];scanf("%s",&s);为什么不能正确为字符数组输入数据

如题所述

scanf函数要求的是变量地址,而数组名s本身就是地址,所以不能用&s,而只能用s追问

如果改为char s[5];scanf("%s",&s[0]);为什么就可以?

追答

因为数组名是数组的首地址(第一个元素的地址),也就是&s[0]

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