C语言中字串ABC大于A吗?为什么?

#include<stdio.h>
void main()

charch;
while((ch=getchar())!=‘/n')

if(ch>='A'&&ch<='Z')
ch=ch+32;
else if(ch>='a'&&ch<'z')
ch=ch-32;
printf("%c",ch);
}
printf("/n");

}

对的, C语言中字符串"ABC"大于"A"。
字符串大小比较,从最左一个字符开始比,ASCII 编码值较大者为大。
如果第一个字符一样大,那么比第二个。
如果第二个字符一样大,那么比第三个。如此继续。
一旦一个字符大小不一样,“比赛”结束,以这个字符输赢为成绩。
如果一直比较到字符串结束符 '\0' (字符串结束符 的 ASCII 编码值是0),还是一样大小,那么就叫 两字符串相等。
我们也可以用 strcmp()函数来评判两字符串大小:
if ( strcmp("ABC","A") >0) printf(" ABC > A");
else if ( strcmp("ABC","A") < 0) printf(" ABC < A");
else printf(" ABC == A");
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-08
strcmp
原型:extern int strcmp(char *s1,char * s2);
用法:#include <string.h>
功能:比较字符串s1和百s2。
说明:
当s1<s2时,返度回知值<0
当s1=s2时,返回值=0
当s1>s2时,返回值>0
即:两个字道符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或版遇 '\0'为止。如:
"abcdefg"和权"12",首先比较'a'和'1','a'的ASC码是97,'1'的ASC码是49,所以"abcdefg"> "12",返回值是97-49=48
"abc"和"ABC",首先比较'a'和'A','a'的ASC码是97,'A'的ASC码是65,所以"abc"> "ABC",返回值是97-65=32
"1000"和"2",首先比较'1'和'2','1'的ASC码是49,'2'的ASC码是50,所以"1000"< "2",返回值是49-50=-1
相似回答