鱼C论坛

 找回密码
 立即注册
查看: 2231|回复: 12

新手求教个C的问题

[复制链接]
发表于 2013-7-20 10:55:09 | 显示全部楼层 |阅读模式
1鱼币
#include <stdio.h>
void main()
{
        int a, b,c,temp;
        printf("Please input three numbers:");
        scanf("%d%d%d\n",&a, &b, &c);
        if(a>b)
        {
                temp=a;
                a=b;
                b=temp;
        }
        if(a>c)
        {
                temp=a;
                a=c;
                c=temp;
        }
        if(b>c)
        {
                temp=b;
                b=c;
                c=temp;
        }
        printf("%d%d%d\n",a,b,c);
}


为什么编译出来输入三个数按回车不能直接得到结果?回车后输入任意数字字母再回车又可得到结果,怎么会这样?哪里错了吗?求解释

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

使用道具 举报

发表于 2013-7-20 11:48:08 | 显示全部楼层
        scanf("%d%d%d\n",&a, &b, &c); 这一行应该去掉 \n ,因为输入时已经包含回车了,你这样就要求必须输入一个回车
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-20 11:50:54 | 显示全部楼层
帮你调整了一下

#include <stdio.h>
void main()
{
        int a, b,c,temp;
        printf("Please input three numbers:\n");
        scanf("%d%d%d",&a, &b, &c);
        if(a>b)
        {
                temp=a;
                a=b;
                b=temp;
        }
        if(a>c)
        {
                temp=a;
                a=c;
                c=temp;
        }
        if(b>c)
        {
                temp=b;
                b=c;
                c=temp;
        }
        printf("%-5d%-5d%-5d\n",a,b,c);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-20 11:55:29 | 显示全部楼层
“\n”是不是这个在作怪?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-20 12:02:37 | 显示全部楼层
你的问题有没有得到解决?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-20 19:13:32 | 显示全部楼层
我想请问你是怎么输入的,如果是每输入一次按空格,最后一次按回车的话就没问题
但每输入一次按回车的话就有问题,建议在scanf函数后面加一句getchar();
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-22 13:31:29 | 显示全部楼层

#include <stdio.h>
int main()
{
        int a, b,c,temp;
        printf("Please input three numbers:\n");
        scanf("%d,%d,%d",&a, &b, &c);
        if(a>b)
        {
                temp=a;
                a=b;
                b=temp;
        }
        if(a>c)

        {
                temp=a;
                a=c;
                c=temp;
        }
        if(b>c)
        {
                temp=b;
                b=c;
                c=temp;
        }
        printf("%d<%d<%d\n",a,b,c);
        return 0;

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

使用道具 举报

发表于 2013-7-24 18:09:14 | 显示全部楼层
输一个数字按一次回车(或空格或Tab)、三次回车按完3个数字才算输入完毕,但中间千万不能用逗号隔
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-10 11:13:13 | 显示全部楼层
scanf("%d%d%d\n",&a, &b, &c);说明要输入4个回车哦
应为\n就是回车你必须输入才能执行下一句代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-10 17:08:18 | 显示全部楼层
             去掉 \n
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-27 07:50:05 | 显示全部楼层
新人,路过学习一下{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-27 13:49:22 | 显示全部楼层
建议楼主将  scanf("%d%d%d\n",&a, &b, &c);  改成  scanf("%d %d %d",&a, &b, &c);  这样就没有问题了,注意scanf语句输入时一定要按引号里面的格式输入。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-23 10:29:35 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 08:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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