scanf("%s",&a);这个写法对吗?

补充一下,a是一个字符数组,定义为int a[11]
它和scanf("%s",a);有什么区别,请C的高手指教!!!

字符数组定义为int?你这是把int数组格式为字符输入输出。。。
这个写法也可以,a数组在编译器里还是要转换成指针进行运算,结果跟&a一样,&a是在a的地址里写入数值,这样编译器便省去了转换这一步
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-01
不对,scanf后面的括号中,参数列表如果是变量的话,才用取地址符,但是如果是字符串形式,其数组名就表示首字符的地址,因此直接用数组名就可以,不用取地址符。
第2个回答  2010-06-07
不对!%S是输入字符串,而a是数组名只能存储一个字符。要这样输入scanf("%s",a[11]);
第3个回答  2010-06-07
int a[11];
定义一个数组,长度为11个int长度;这时内存为你分配好一块地方。
scanf("%s",a);是输入a的值,两个完全不一样啊。要先定义然后才能输入
第4个回答  2010-06-07
要写就直接这样:
char a;
scanf("%s",a);
相似回答