打印

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

[复制链接]
2526|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

请问要怎么办 才能消除这个警告?

使用特权

评论回复
5
刘前辈| | 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);
}

//

使用特权

评论回复
6
流行音乐| | 2011-6-3 09:40 | 只看该作者
代码与故障现象根本就不符合,请楼主亲自把你自己发的代码编译了才来问问题。

使用特权

评论回复
7
CC2530| | 2011-6-3 12:26 | 只看该作者
unsigned char *
与const char *
不是一个类型。

使用特权

评论回复
8
xlsbz|  楼主 | 2011-6-3 12:40 | 只看该作者
5# 刘前辈

多谢! 笔误  这是个演示例子

使用特权

评论回复
9
xlsbz|  楼主 | 2011-6-3 12:41 | 只看该作者
本帖最后由 xlsbz 于 2011-6-3 12:43 编辑

使用特权

评论回复
10
xlsbz|  楼主 | 2011-6-3 15:18 | 只看该作者
代码与故障现象根本就不符合,请楼主亲自把你自己发的代码编译了才来问问题。
流行音乐 发表于 2011-6-3 09:40


你说的对! 确实不符合!

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

所以程序是没有问题的

使用特权

评论回复
11
刘前辈| | 2012-6-18 17:54 | 只看该作者
没错呀?!




、、

使用特权

评论回复
12
sunhq02| | 2012-6-19 08:23 | 只看该作者
需要用const修饰参数
同一类型,非const赋值给const是合法的,因为条件变的更严格
而反过来则是非法的,因为放松了限制条件

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

190

主题

1614

帖子

4

粉丝