您的位置:

c语言比较字符数组,c语言字符数组和字符串的区别

本文目录一览:

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'为止。