关于c语言的字符串比较

关于字符比较的几种形式:

	char x1[]={'m','i','c','\0'};
	char x2[]={'m','i','c'};
	char x3[]="mic";
	char *y1="mic";

用”==“判断相等时:

x1==”mic“返回false

x2=="mic"返回false

x3=="mic"返回false

y1=="mic"返回true

用strcmp判断相等时:

strcmp(x1,"mic")==0返回true

strcmp(x2,"mic")==0返回false

strcmp(x3,"mic")==0返回true

strcmp(y1,"mic)"==0返回true


结论:

x2确实与”mic“不相等,因为x2没有‘\0’,编译器不知道x2的大小

其他与"mic"都相等,但是用"=="时,int x[]形式都不可以,所以字符串判断最好用函数strcmp


具体代码:

  • 	if(x1=="mic")
    		cout<<"equal"<<endl;
    	else cout<<"not equal"<<endl;

  • 	if(x2=="mic")
    		cout<<"equal"<<endl;
    	else cout<<"not equal"<<endl;




  • 	if(x3=="mic")
    		cout<<"equal"<<endl;
    	else cout<<"not equal"<<endl;




  • 	if(y1=="mic")
    		cout<<"equal"<<endl;
    	else cout<<"not equal"<<endl;




  • 	if(strcmp(y1,"mic")==0)
    		cout<<"equal"<<endl;
    	else cout<<"not equal"<<endl;




  • 	if(strcmp(x1,"mic")==0)
    		cout<<"equal"<<endl;
    	else cout<<"not equal"<<endl;


  • 	if(strcmp(x2,"mic")==0)
    		cout<<"equal"<<endl;
    	else cout<<"not equal"<<endl;


  • 	if(strcmp(x3,"mic")==0)
    		cout<<"equal"<<endl;
    	else cout<<"not equal"<<endl;




  • 	if("mic"=="mic")
    		cout<<"equal"<<endl;
    	else cout<<"not equal"<<endl;


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值