| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 561 人关注过本帖
标题:c语言的if( strcmp(z[ i ],z[ j ])==0 ) 和if( z[ i ][ 0 ] ==z[ j ][ 0 ...
只看楼主 加入收藏
z1443043531
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2015-1-23
结帖率:53.85%
收藏
 问题点数:0 回复次数:6 
c语言的if( strcmp(z[ i ],z[ j ])==0 ) 和if( z[ i ][ 0 ] ==z[ j ][ 0 ] )有什么区别
if( strcmp(z[ i ],z[ j ])==0 )  
if( z[ i ][ 0 ] ==z[ j ][ 0 ] )
有什么区别?
搜索更多相关主题的帖子: c语言 
2015-02-01 13:59
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
strcmp函数是进行字符串比较,==是数字或单个字符的比较

一片落叶掉进了回忆的流年。
2015-02-01 18:44
z1443043531
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2015-1-23
收藏
得分:0 
谢谢
2015-02-02 15:00
stinger121
Rank: 1
等 级:新手上路
帖 子:5
专家分:9
注 册:2015-2-3
收藏
得分:0 
区别大了,如果z是字符串指针数组还好说,否则strcmp可能会出错啊.
2015-02-03 09:56
z1443043531
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2015-1-23
收藏
得分:0 
哦,什么事指针数组呢?
2015-02-03 11:38
a63568339
Rank: 2
等 级:论坛游民
帖 子:9
专家分:26
注 册:2015-2-3
收藏
得分:0 
先解决楼主的问题:什么是指针数组吧
先写一个简单的int型数组,比如 int a[] = {45, 56, 2, 54, 65};数组里有5个元素,你要是想计算数组长度: int count = sizeof(a) / sizeof(int);
用一个指针指向数组: int *p = a; 这个指针是指向数组的首元素首地址,这样就是指针数组了

类人猿
2015-02-03 16:24
a63568339
Rank: 2
等 级:论坛游民
帖 子:9
专家分:26
注 册:2015-2-3
收藏
得分:0 
再解决楼主两个if内的区别吧
首先要明白strcmp是比较字符串的大小的,使用strcmp时会出来三种结果,第一种是>0,第二种是==0,第三种是<0。你的情况是第二种== 0。等于0说明strcmp里的两个字符是相同的,不管你高级指针的地址,最后取值都是一样的,所以等于0。。也中说法是非0即真,等于0时也是从控制台输入一样的字符串,比如:
if (strcmp(name, "return") == 0) {   
        break;
}
这种结果是从控制台中输入,name输入一定要和return相同才能停止执行,所以一定输入return,才能是strcmp(name, “return”)== 0


再说if( z[ i ][ 0 ] ==z[ j ][ 0 ] )这个吧!!!
这个没有明确的定义,里面可以放数字,字符,不是比较字符串大小的。字符串大小比较一般都是用strcmp

楼主如果还模糊就关注 http://blog.  
我Q 664709704

类人猿
2015-02-03 16:38
快速回复:c语言的if( strcmp(z[ i ],z[ j ])==0 ) 和if( z[ i ][ 0 ] ==z[ j ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015887 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved