本文目录一览:
c语言怎么做到对比字符数组里的数
如果是整型数组可以str【2】 == 3
但如果是字符型比较的是ASCII值,str[2] == '3' 或者 str[2] == (3的ASCII码)
如果字符型的是整形数字的话就直接比较和你的一样
请教C语言字符串和字符数组的比较问题
利用fgets()取得一个字符串,直到读取到"回车"符,而你得到的字符串中含有“回车”(ascii:10),比你要比较的字符串多一个“回车”,所以strcmp()比较结果一直不为零。
如第一次while循环的结果:
C语言字符数组的比较问题
#include stdio.h
#include string.h
int main()
{
char string1[81]="that";
char string2[81]="these";
printf("%d","these""that"); 这是比较两个常量字符串"these"和"that"的首地址,谁大谁小是不确定的。
printf("%d",strcmp("these","that")); 这是判断两个常量字符串是否相同,因"these"大于"that",所以,返回1
printf("%d","these""string1"); 这是比较两个常量字符串"these"和"string1"的首地址,谁大谁小是不确定的。
if(string1string2) 这是判断指针string1和string2的大小,在不同类型的机器上,也是不确定的。
printf("yes");
return 0;
}
C语言判断两个长度不等的字符数组是否相等的方法
用strcmp阿,不管长度是否相等都能用。
原型:extern
int
strcmp(const
char
*s1,const
char
*
s2);
用法:#include
string.h
功能:比较字符串s1和s2。
一般形式:strcmp(字符串1,字符串2)
说明:
当s1s2时,返回值0
当s1=s2时,返回值=0
当s1s2时,返回值0
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。