关于 strcmp 函数
  • 板块学术版
  • 楼主vectorwyxSD省选加油
  • 当前回复12
  • 已保存回复12
  • 发布时间2021/1/25 10:10
  • 上次更新2023/11/5 04:26:23
查看原帖
关于 strcmp 函数
238408
vectorwyxSD省选加油楼主2021/1/25 10:10

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 ,为何运行出来的结果会产生不同?求好心的巨佬解答,谢谢!

2021/1/25 10:10
加载中...