| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5320 人关注过本帖
标题:if(!strcmp(s1,s2))它应该如何判断是真是假.
取消只看楼主 加入收藏
默默学习
Rank: 4
等 级:业余侠客
帖 子:134
专家分:200
注 册:2010-6-22
结帖率:84.21%
收藏
已结贴  问题点数:20 回复次数:2 
if(!strcmp(s1,s2))它应该如何判断是真是假.
#include "string.h"
#include "stdio.h"
void main()
{
    char a1[80],a2[80],*s1=a1,*s2=a2;
    gets(s1);gets(s2);
    if(!strcmp(s1,s2))
        printf("*");
    else
        printf("#");
}
//如代码,输入两串字符进行比较.
我输入!
book回车(这是字符串1)
book空格回车(这是字符串2)


那么我的问题是:strcmp(s1,s2)比较的时候,.s1应该比s2小对吧!因为s2比s1多一个空格,就是strcmp(s1,s2)<0成立,为真.
问题出在这里了, !(strcmp(s1,s2))字符串1,小于 字符串2时候返回值<0.非就是取反的意思!  那么是大于等于0吗。
所以这处 if(!strcmp(s1,s2)) 我不知道应该如何正确的来判断,它到底是真还是假,怎么判断输出 if还是 else呢。求解!




[ 本帖最后由 默默学习 于 2011-3-9 00:36 编辑 ]
搜索更多相关主题的帖子: 字符串 book 
2011-03-09 00:34
默默学习
Rank: 4
等 级:业余侠客
帖 子:134
专家分:200
注 册:2010-6-22
收藏
得分:0 
楼上各位哥们,这是书上的原题代码。。
所以不是我想纠结,我只是想了解 if(!strcmp(s1,s2)) 到底是取的什么。。
!strcmp(s1,s2)的意义。。
2011-03-09 22:55
默默学习
Rank: 4
等 级:业余侠客
帖 子:134
专家分:200
注 册:2010-6-22
收藏
得分:0 
回复 9楼 点线面
我懂了。谢谢!
2011-03-09 23:21
快速回复:if(!strcmp(s1,s2))它应该如何判断是真是假.
数据加载中...
 
   



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

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