tnfh.net
当前位置:首页 >> 一个C语言问题 当输入的s1和s2相等时strCmp的值不... >>

一个C语言问题 当输入的s1和s2相等时strCmp的值不...

前面不有个感叹号么 意思是取反 0取反不就是真么

strcmp()是字符串比较函数。 !strcmp(s1.s2)的意思是字符串s1和s2不相等。 整个表达式的意思就是,如果字符串s1和s2不相等,则。。。。

B.if(!strcmp(s1,s2)) puts("they are Equal"); D是s1,s2两个串不相等时输出 。另外, Puts,P也错了的。

: strcmp函数是比较两个字符串大小,也就是求差值,如果相等,差值为0,那么再加上!就是真反之,如果不等,差值为正或负,取非为假

strcmp()函数就是你上边说的那样;至于你的程序 #include int scomp(char *s,char *t); void main() { int a; char s1[]="AB",s2[10]; gets(s2); a=scomp(s1,s2); printf("%d\n",a); } int scomp(char *s,char *t) { int i=0; while(s[i]==t[i]&...

1、首先怎么才算是一个字符串大于另一个字符串? 依次比较每个字符,如果某个字符的ASCII值大,则字符串大;如相等则比较下一个。 2、strcmp()函数不是返回他们第一个不匹配字母的ASCII差值么? 不一定是差值。只保证相等时返回0,大于时返回正...

你好,这是你对strcmp函数理解错误了。其原型是: extern int strcmp(const char *s1,const char * s2); 其功能是比较字符串s1与字符串s2, 在C语言中,返回值有下面的规则得到: 当S1S2时,返回值为1 而在C++中,返回值是按照下面的规律得到: ...

int strcmp(char *p1, char *p2) { while (*p1 && *p2) { if (*p1 > *p2) return 1; else if (*p1 < *p2) return -1; else {p1++; p2++;} } if (*p1==0 && *p2==0) return 0; else if (*p1==0) return -1; else return 1; }

你这种写法逻辑上有错,即不能正确处理两字符串不等长的情况。应当这样写才符合要求: void main(void){ char str1[80],str2[80]; int i=0,j=0,a=0,b=0; gets(str1); gets(str2); while(str1[i]!='\0') a+=str1[i++]; while(str2[j]!='\0') b+=s...

函数原型:extern int strcmp(const char *s1,const char *s2);

网站首页 | 网站地图
All rights reserved Powered by www.tnfh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com