#include"stdio.h"
main()
{
char s[8];
scanf("%s",s);
printf("%s\n",s);
}
我运行了,加不加都可以 ,,,这怎么解释
请问你指的是加什么,你上面那段代码是对的,没有问题,如果你把char s[8]改成char *s,就有问题了!
追问scanf("%s",s);当中的s前面加&
追答那个没有必要加,反正我写的时候没加过!
追问不是没有必要加不加,这两个到底是加正确还是不加正确,,,,
追答我刚查了,变量,字符需要加&,指针,字符串不用加。
char *s;scanf("%s",s);我想问这条语句有错吗?
追答有的
#include"stdio.h"
main()
{
char s[8];
scanf("%s",s);
printf("%s\n",s);
}
我运行了,加不加都可以 ,,,
#include"stdio.h"
void main()
{
char s[8];
scanf("%s",&s);
printf("%s\n",s);
}
你少了了数据返回类型定义,通常用void,顶级的程序员一般不用,多用int main(){....},还有就是对于stdio.h函数中,scanf函数的地址符落了!希望能帮上你!采纳吧,呵呵!
首先char s[8]说明s是一字符数组,也可以说s的首地址是一指针常量,所以运行scanf("%s",&s);时,&不用写,是不是这样的。。。。。。按理说写了会出错,但我也运行了,都可以的,怎么解释。。。 我想问“scanf("%s",s); ”是哪里出错!!!!