鱼C论坛

 找回密码
 立即注册
查看: 2371|回复: 7

[C语言]《零基础入门学习C语言》第五章考核第7题

[复制链接]
发表于 2014-3-26 14:36:11 | 显示全部楼层 |阅读模式
1鱼币
#include <stdio.h>

main()
{
        int a = -7;
        while( a-- );
                ;
        printf("%d", a);
}


为什么答案是-1呢?a--不是做减法吗,-7会越减越小,怎么会减到-1呢

最佳答案

查看完整内容

#include int main() { char a; int c; a=-7; while(a--) { c=(int)a; printf("%d",c); printf("\n"); } printf("%c",a); printf("\n"); } 运行这个程序你看的可能更加清楚一点,这里我用了char型而不是int型,但这两个原理都是一样的,你可以看一下屏幕上显示的数字,然后你就会明白了。char型的下线是-127,超出这个数字时又会变成+127,在while循环中它会变成零而退出循环,因为是a--先用后减, ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-26 14:36:12 | 显示全部楼层
#include<stdio.h>
int main()
{
        char a;
        int c;

        a=-7;
        while(a--)
        {
                c=(int)a;
                printf("%d",c);
                printf("\n");
        }
        printf("%c",a);
        printf("\n");
}
运行这个程序你看的可能更加清楚一点,这里我用了char型而不是int型,但这两个原理都是一样的,你可以看一下屏幕上显示的数字,然后你就会明白了。char型的下线是-127,超出这个数字时又会变成+127,在while循环中它会变成零而退出循环,因为是a--先用后减,它会继续变成-1.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-27 00:34:46 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-27 00:41:51 | 显示全部楼层
本帖最后由 Simanzen 于 2014-3-27 00:46 编辑

二楼正解。不信的话可以试一下下面的程序#include <stdio.h>

int main()
{
        char a = -7;
        while( a-- && int(a)!=126)
                ;
        printf("%d", int(a));
        return 0;
}



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-27 08:20:18 | 显示全部楼层
万千不待 发表于 2014-3-26 14:36
#include
int main()
{

谢谢你,我懂了,难怪-7的时候比7用的时间要长,讲的非常详细,我表示真心的感谢~:big
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-27 08:21:12 | 显示全部楼层
Simanzen 发表于 2014-3-27 00:41
二楼正解。不信的话可以试一下下面的程序#include

int main()

我信了,也运行了你的程序,非常谢谢啊,这倒题我弄懂了~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-2-26 22:57:41 | 显示全部楼层
你好,零基础学C的课后作业在哪里找
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-5-24 23:19:44 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 23:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表