OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2713|回复: 12

有人遇到过这种情况吗,strcmp,strncmp

[复制链接]

62

主题

903

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3566
金钱
3566
注册时间
2016-1-8
在线时间
544 小时
发表于 2018-1-24 10:33:11 | 显示全部楼层 |阅读模式
1金钱
代码运行12个小时 或者几个小时出现  但有时候 几天都不出现,很难仿真到
111.png

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

62

主题

903

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3566
金钱
3566
注册时间
2016-1-8
在线时间
544 小时
 楼主| 发表于 2018-1-24 10:33:12 | 显示全部楼层
回复

使用道具 举报

13

主题

156

帖子

0

精华

高级会员

Rank: 4

积分
883
金钱
883
注册时间
2017-8-7
在线时间
200 小时
发表于 2018-1-24 11:00:40 | 显示全部楼层
帮顶   
回复

使用道具 举报

5

主题

266

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1526
金钱
1526
注册时间
2016-7-20
在线时间
155 小时
发表于 2018-1-24 11:05:40 | 显示全部楼层
进来看看
回复

使用道具 举报

62

主题

903

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3566
金钱
3566
注册时间
2016-1-8
在线时间
544 小时
 楼主| 发表于 2018-1-24 11:52:51 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-1-25 01:32:45 | 显示全部楼层
表示看不出什么问题
回复

使用道具 举报

1

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2014-9-29
在线时间
0 小时
发表于 2018-1-25 08:54:54 | 显示全部楼层
strcmp只能比较字符串,或比较数组和字符串常量,不能比较数字等其他形式的参数
回复

使用道具 举报

1

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2014-9-29
在线时间
0 小时
发表于 2018-1-25 08:59:40 | 显示全部楼层
而且返回值除了0 1 -1 还可能有其它值
回复

使用道具 举报

62

主题

903

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3566
金钱
3566
注册时间
2016-1-8
在线时间
544 小时
 楼主| 发表于 2018-1-25 09:56:02 | 显示全部楼层
正点原子 发表于 2018-1-25 01:32
表示看不出什么问题

什么情况会导致呢
回复

使用道具 举报

62

主题

903

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3566
金钱
3566
注册时间
2016-1-8
在线时间
544 小时
 楼主| 发表于 2018-1-25 09:56:30 | 显示全部楼层
oser 发表于 2018-1-25 08:54
strcmp只能比较字符串,或比较数组和字符串常量,不能比较数字等其他形式的参数

就是两个指针字符串比较
回复

使用道具 举报

62

主题

903

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3566
金钱
3566
注册时间
2016-1-8
在线时间
544 小时
 楼主| 发表于 2018-1-25 09:58:13 | 显示全部楼层
如图,群里大神很多啊,帮个忙看看吧
222.png
回复

使用道具 举报

62

主题

903

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3566
金钱
3566
注册时间
2016-1-8
在线时间
544 小时
 楼主| 发表于 2018-1-25 10:00:17 | 显示全部楼层
oser 发表于 2018-1-25 08:59
而且返回值除了0 1 -1 还可能有其它值

[mw_shl_code=applescript,true]/*                      - STRCMP.C -

   The ANSI "strcmp" function.

   $Revision: 38615 $

   Copyright 1986 - 1999 IAR Systems. All rights reserved.
*/

#include "string.h"

int strcmp(const char *s1, const char *s2)
{
#ifdef _INTRINSIC
  return strcmp(s1, s2);
#else
  while (*s1 == *s2)
  {
    if (!*s1++)
    {
      return 0;
    }
    s2++;
  }
  return  *(unsigned char *)s1 - *(unsigned char *)s2;
#endif
}
[/mw_shl_code]
回复

使用道具 举报

1

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2014-9-29
在线时间
0 小时
发表于 2018-1-25 10:38:25 | 显示全部楼层
首先 strcmp 两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇’\0’为止。字母F是0x46 字母H是0x48,strcmp("aaaFbbb","aaaHbbb"), 返回的结果是 -2 ,即0x46-0x48.

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 22:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表