| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 493 人关注过本帖
标题:有个整型变量的问题
只看楼主 加入收藏
skwolf
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2014-3-6
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
有个整型变量的问题
我是在Ubunt64位环境下使用gcc编译如下代码的:

#include<stdio.h>
int main(void)
{
    int a;
    short b;
    long c;
    unsigned long s;
    a=3,b=4,c=5;
    s=a+b+c;
    printf("s=%d\n",s);
    return 0;
}

编译的时候提示:
2-6.c: In function ‘main’:
2-6.c:10:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
     printf("s=%d\n",s);
     ^
但是编译是成功的
请问具体的报错原因是什么,为什么明明报错了,结果却是对的。
搜索更多相关主题的帖子: function include warning return 
2014-03-06 17:32
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:20 
那不是错误 而是警告   而某些情况下  警告会致命的
warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int
如此明显的提示 还有啥可说的呢


DO IT YOURSELF !
2014-03-06 17:38
skwolf
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2014-3-6
收藏
得分:0 
谢谢,我是想知道原因,本人英语不太好,又是自学,所以有些看不太明白。
非常感谢你的回答
2014-03-06 17:43
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
int a;
    short b;
    long c;
    unsigned long s;
一个整型 你定义了4样  why?  
%d   只能和 int  匹配

其他3种  你需要百度一下

DO IT YOURSELF !
2014-03-06 17:45
skwolf
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2014-3-6
收藏
得分:0 
回复 4楼 wp231957
这个是在做书上的示例,是说明整型变量的定义和引用的。原文如下:

定义整型变量a、短整型变量b、长整型变量c和无符号长整型变量s。并通过给这4个变量赋值,同时相加求和,来说明整型变量的定义和引用。
2014-03-06 17:54
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
不超过最小值的范围 咋都好说  否则 就崩溃了

你可以这样来消除警告信息

   printf("s=%d\n",(int)s);

DO IT YOURSELF !
2014-03-06 18:07
skwolf
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2014-3-6
收藏
得分:0 
谢谢,我试试哦
2014-03-06 18:23
快速回复:有个整型变量的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046450 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved