| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 966 人关注过本帖
标题:新人问,问题。求解答
只看楼主 加入收藏
只是一个菜鸟
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-1-19
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:3 
新人问,问题。求解答
#include<stdio.h>
int main(void)
{
    float n1=3.0;
    double n2=3.0;
    long n3=2000000000;
    long n4=1234567890;
    printf("%.1e  %.1e  %.1e  %.1e.\n",n1,n2,n3,n4);
    printf("%ld  %ld.\n",n3,n4);
    printf("%ld  %ld  %ld  %ld.\n",n1,n2,n3,n4);
    return 0;
}
出来的结果
3.0e+000  3.0+000 3.1e+046    0.0e+000
2000000000   1234567890
0  10742266112 0 10742266112
结果为什么会这样,求解。

[此贴子已经被作者于2016-1-23 18:28编辑过]

2016-01-23 17:00
小菜鸟fanfan
Rank: 2
等 级:论坛游民
威 望:1
帖 子:42
专家分:36
注 册:2016-1-23
收藏
得分:7 
虽然不知道问题在哪,但是我只想说是return不是retur
2016-01-23 17:17
ldsh304
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:242
专家分:755
注 册:2016-1-18
收藏
得分:7 
注意float . double . long 的范围
return 0;//这句语句的后面的" ;"是半角的
2016-01-23 20:15
jklqwe111
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:35
帖 子:336
专家分:1135
注 册:2014-4-13
收藏
得分:7 
c语言有数据类型的自动转换,并且遵守确定的规则,但只是在表达式运算和赋值时适用,在函数传参时是否可行是函数本身的行为,printf函数在格式串与参数类型不匹配时很难确定其行为,我觉得在使用这些函数时做到正确匹配就行了,至于研究不匹配时会产生什么效果没有什么意义。
2016-01-24 11:18
快速回复:新人问,问题。求解答
数据加载中...
 
   



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

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