第1个回答 2009-09-30
使用'/0'啊,即先用长度函数(不好意思我不记得拼写了)判断两者长度,长度相同时,求出长度n,此处n=1。然后a[1]='/0',b[1]='/0'(意思即是a[n]=b[n]='/0'),然后计算时就会忽略后面的不定空间的数据了。本回答被提问者和网友采纳
第2个回答 2009-09-30
用int i=strcmp(a,b)
i=0则相等
strcmp例子:
#include
#include
int main(void)
{
char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";
int ptr;
ptr = strcmp(buf2, buf1);
if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");
else
printf("buffer 2 is less than buffer 1\n");
ptr = strcmp(buf2, buf3);
if (ptr > 0)
printf("buffer 2 is greater than buffer 3\n");
else
printf("buffer 2 is less than buffer 3\n");
return 0;
}
第3个回答 2009-09-30
为什么用strcmp比较出来是不相等,难道你的a,b不是字符串,而是分别有10个字符把数组占满了,那样的话strcmp肯定不能用的,strcmp只能针对字符串.
第4个回答 2009-09-30
数组里不一定存放的是字符串,那可以自己写一个判断函数呀。就别用strcmp了