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

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

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

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

#include#includeint strcmp(char *s1,char *s2){int a,i,j;for(i=0;s1[i]!='\0'&&s2[i]!='\0';i++){if(s1[i]!=s2[i]){return s1[i]-s2[i];}}return 0; //当真点睛之笔}int main(){char s1[20],s2[20];int x;gets(s1); gets(s2);x=strcmp(s1,s2)...

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]&...

可以使用库函数strcmp比较。 strcmp是C语言比较字符串的库函数。形式为 int strcmp(char *a, char *b); 该函数会对a和b的每个字符,按照ascii码值比较,如果二者完全相同返回0;如果a的ascii码值先出现较大者,会返回1;否则返回-1. 所以,要判...

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...

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

描述:比较串 #include int strcmp(const char *s1,const char* s2); int __far _fstrcmp(const char __far* s1,const char __far* s2); s1,s2为要比较的串 strcmp与_fstrcmp函数按字典顺序比较串s1与s2,并返回一表示其关系的值,如下: 0 s1大于s2...

以下代码就可解决此问题: //#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"int mystrcmp(const char *s1,const char *s2){ while(*s1 && *s2 && !(*s1-*s2)) s1++,s2++; return *s1-*s2;}int main(void){//测试一下 ...

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