标题:看看错在哪里
只看楼主
aneeg
Rank: 1
等 级:新手上路
帖 子:75
专家分:8
注 册:2014-4-10
结帖率:86.67%
已结贴  问题点数:10 回复次数:4 
看看错在哪里
《c primer》第106页:
#include
int main()
{
    char ch;
    int i;
    float fl;
   
    fl=i=ch='A';
    printf("ch=%c,i=%d,fl=%2.2f\n",ch,i,fl);
    ch=ch+1;
    i=fl+2*ch;
    fl=2.0*ch+i;
    printf("ch=%c,i=%d,fl=%2.2f\n",ch,i,fl);
    ch=5212205.17;
    printf("Now ch=%c\n",ch);
    return 0;
}
书上给出的运行结果是
ch=C,i=67,fl=67.00
ch=D,i=203,fl=339.00
Now ch=-

我运行的结果是:
ch=A,i=65,fl=65.00
ch=B,i=197,fl=329.00
Now ch=
不能贴图发附件只能这样了
搜索更多相关主题的帖子: include return 
2014-04-11 18:42
大宝天天见
Rank: 2
等 级:论坛游民
帖 子:21
专家分:13
注 册:2014-4-7
得分:4 
#include <stdio.h>
int main()
{
     char ch;
     int i;
     float fl;
     
    fl=i=ch='A';
     printf("ch=%c,i=%d,fl=%2.2f\n",ch,i,fl);
     ch=ch+1;
     i=fl+2*ch;
     fl=2.0*ch+i;
     printf("ch=%c,i=%d,fl=%2.2f\n",ch,i,fl);
     ch=5212205.17;
     printf("Now ch=%c\n",ch);
     return 0;
 }
可能 改的不是很好  但是在我电脑上运行对了
2014-04-11 19:04
安宁1991
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:123
注 册:2014-4-3
得分:4 
程序代码:
#include <stdio.h>//没有加头文件
int main()
{
    char ch;
    int i;
    float fl;
   
    fl=i=ch='A';//将字符大写的A赋值给它们,A的asscii值是65
    printf("ch=%c,i=%d,fl=%2.2f\n",ch,i,fl);//所以这里输出的其实就是大写字母A的字符A,65,而不是67.。Asscii值为67的字符是C
    ch=ch+1;
    i=fl+2*ch;
    fl=2.0*ch+i;
    printf("ch=%c,i=%d,fl=%2.2f\n",ch,i,fl);
    ch=5212205.17;
    printf("Now ch=%c\n",ch);
    return 0;
}

因为有你,所以做什么都有动力。z,爱你。
2014-04-11 19:29
安宁1991
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:123
注 册:2014-4-3
得分:0 
你运行的结果是正确的。最后一个ch。是溢出的意思吧?这个值远大于256个字符,所以以字符式输出的话就会溢出?不知道我的理解是否正确?

因为有你,所以做什么都有动力。z,爱你。
2014-04-11 19:32
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:4 
這都能懷疑是自己錯而不是書錯,你很懸了。

授人以渔,不授人以鱼。
2014-04-11 19:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-429970-1-1.html




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

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