求助啊!!说我数据类型不匹配,为啥?帮忙看看...........

[复制链接]
3593|11
 楼主| xlsbz 发表于 2011-6-2 15:12 | 显示全部楼层 |阅读模式
本帖最后由 xlsbz 于 2011-6-2 15:19 编辑

写个函数 sendChar(unsigned char * addr){
       unsigned char *ptr = addr;

        while ((*ptr) != '\0' ) {
                    ......................
                    .......................
        }

.........................................
.........................................
}

然后应用  sendchar(" nihao, baby!!! \n")


有警告说是 type mismatch (ptrs to signed/unsigned)

这时候我把上面程序中的unsigned char 改成 char 结果还是有警告


大家说这是咋的了?
liang7143 发表于 2011-6-2 15:41 | 显示全部楼层
" nihao, baby!!! \n" 是一个字符串常量
这个警告 可以忽视
yuyi21ic 发表于 2011-6-2 16:23 | 显示全部楼层
应该是编译器的原因。
 楼主| xlsbz 发表于 2011-6-2 20:19 | 显示全部楼层
2# liang7143

请问要怎么办 才能消除这个警告?
刘前辈 发表于 2011-6-3 08:44 | 显示全部楼层
本帖最后由 刘前辈 于 2011-6-3 08:51 编辑

没错。函数调用大小写错了吧

void  sendChar( char * addr) {
        char *ptr = addr;

        while ((*ptr) != '\0' ) {
                    
        }
}

void main()
{

     sendchar( " nihao, baby!!! \n");     // \n 是多余的?

  while(1);
}

//
流行音乐 发表于 2011-6-3 09:40 | 显示全部楼层
代码与故障现象根本就不符合,请楼主亲自把你自己发的代码编译了才来问问题。
CC2530 发表于 2011-6-3 12:26 | 显示全部楼层
unsigned char *
与const char *
不是一个类型。
 楼主| xlsbz 发表于 2011-6-3 12:40 | 显示全部楼层
5# 刘前辈

多谢! 笔误  这是个演示例子
 楼主| xlsbz 发表于 2011-6-3 12:41 | 显示全部楼层
本帖最后由 xlsbz 于 2011-6-3 12:43 编辑

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| xlsbz 发表于 2011-6-3 15:18 | 显示全部楼层
代码与故障现象根本就不符合,请楼主亲自把你自己发的代码编译了才来问问题。
流行音乐 发表于 2011-6-3 09:40


你说的对! 确实不符合!

我又弄了一下 还是编译的这个程序 却显示的是另一个程序的警告!

所以程序是没有问题的
刘前辈 发表于 2012-6-18 17:54 | 显示全部楼层
没错呀?!




、、

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
sunhq02 发表于 2012-6-19 08:23 | 显示全部楼层
需要用const修饰参数
同一类型,非const赋值给const是合法的,因为条件变的更严格
而反过来则是非法的,因为放松了限制条件
您需要登录后才可以回帖 登录 | 注册

本版积分规则

190

主题

1614

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部