RT,以下四份代码(已省略文件头和命名空间)的输入和在洛谷ide上/在本地的输出如下:
char ss[]={'a','b','c'};
int main(){
char s[10];
scanf("%s",s);
cout<<strcmp(ss,s);
return 0;
}
//输入:abc ide输出:0 本地输出:0
const char ss[]={'a','b','c'};
int main(){
char s[10];
scanf("%s",s);
cout<<strcmp(ss,s);
return 0;
}
//输入:abc ide输出:37 本地输出:0
int main(){
const char ss[]={'a','b','c'};
char s[10];
scanf("%s",s);
cout<<strcmp(ss,s);
return 0;
}
//输入:abc ide输出:48 本地输出:1
int main(){
char ss[]={'a','b','c'};
char s[10];
scanf("%s",s);
cout<<strcmp(ss,s);
return 0;
//输入:abc ide输出:48 本地输出:1
}
它们的区别只在于字符数组 ss 是否在主函数内定义以及是否定义为 const ,为何运行出来的结果会产生不同?求好心的巨佬解答,谢谢!