关于C语言strcmp函数数组的比较问题

关于C语言strcmp函数数组的比较问题,使用strcmp来比较两个相同的字符数组时,得不到相等的结果。根据程序运,table1和table2赋值相同的值,应该相等才对啊,但我将i…

关于C语言strcmp函数数组的比较问题,使用strcmp来比较两个相同的字符数组时,得不到相等的结果。根据程序运,table1和table2赋值相同的值,应该相等才对啊,但我将if(strcmp(table1,table2)==0)变为if(strcmp(table1,table2)!=0)时,蜂鸣器响了,也就是说两个数组不相等。请教下这是什么原因呢?难道不能这样比较吗?小弟新手,感谢指教。

代码:
======================
#include <reg52.h>
#include <intrins.h>
#include <string.h>
typedef unsigned char uchar;
typedef unsigned int uint;
sbit Beef=P0^1;
uchar code arrl[]={“123456”};
uchar table1[6],table2[6];
uchar a,s;
void delay(uint i) //延时函数
{while(i–);}
void Bee() //蜂鸣器函数
{
    int x;   
    for(x=1000;x>0;x–)
        {
         Beef=~Beef;
         delay(10);
        }
}
void main()
{
  for(a=0;a<6;a++)
  {
    table1[a]=arrl[a];
    table2[a]=arrl[a];
  }

  if(strcmp(table1,table2)==0)
  {
    while(1)
    {
      Bee();
    }
  }
}

作者: soufei

为您推荐


Fatal error: Can't use function return value in write context in /www/wwwroot/www.qianrushi.com.cn/wp-content/themes/news/footer.php on line 115