这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 【C语言求助】两个相等的字符串用strcmp函数操作,返回结果不等于0.

共10条 1/1 1 跳转至

【C语言求助】两个相等的字符串用strcmp函数操作,返回结果不等于0.

菜鸟
2014-06-26 00:54:46     打赏

问题:

两个相等的字符串用strcmp函数操作,返回结果不等于0.


类似代码:

char A[6] = "123456";

char B[6] = "123456";

if(strcmp(A,B)!=0)       

next;

····


现象:仿真的时候,程序老是运行至 next处。

    
       




关键词: strcmp     结果    

工程师
2014-06-26 11:01:00     打赏
2楼
原型:extern int strcmp(const char *s1,const char * s2); 所在头文件:string.h 功能:比较字符串s1和s2。 一般形式:strcmp(字符串1,字符串2) 说明: 当s1<s2时,返回为负数 当s1=s2时,返回值= 0 当s1>s2时,返回正数   相等的时候 返回0  ,if条件不成立呢

高工
2014-06-26 19:50:37     打赏
3楼

测试结果是正确的。唯一一点不合适的是你的程序里用的不等于里面叹号!不行,要用半角的!


菜鸟
2014-06-26 21:35:24     打赏
4楼
返回的值为 0X2E

菜鸟
2014-06-26 21:35:56     打赏
5楼
返回的值为 0X2E

工程师
2014-06-28 23:21:42     打赏
6楼

你用的什么编译器?


工程师
2014-06-28 23:44:14     打赏
7楼

#include <stdio.h>
#include <string.h>

int main()
{

char A[]="123456";
char B[]="123456";
int i;
i=strcmp(A,B);

printf("%d",i);

getchar();


}


工程师
2014-06-28 23:44:53     打赏
8楼

试试这样就对了,。我用的dev c++


工程师
2014-06-28 23:57:09     打赏
9楼
#include <stdio.h>
#include <string.h>


int main()
{


char A[7]="123456";
char B[7]="123456";
int i;
i=strcmp(A,B);


printf("%d",i);


getchar();

}


这样也对哈,字符串需要存一个结束字符,所以,数组的长度=有效字符长度+1;

好久都没有写C了,怀念下。里面有些规则,要是直到了就不会错了


院士
2014-06-29 23:03:09     打赏
10楼

上工程文件  原文件。


这样使用C库函数是没有问题的,问题出在别的地方了。


共10条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]