scanf("%s",&s)

请问,scanf("%s",&s)和scanf("%s",s)一样吗?为什么都可以使用???

如果你用字符数组定义的(如char s[10]),其实是一样的。
&s和s指的同一个地址,
如果是字符指针动态分配空间(char *s;s=malloc(10));,这是不一样的。可以加下面这句代码验证
printf("%p,%p\n",s,&s);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-07
不同,&s表示数据s的指针,就是s的地址。而scanf("%s",s)中的s本身就是指针,就代表一个地址。
相似回答