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 编辑 ]