鱼C论坛

 找回密码
 立即注册
查看: 4753|回复: 5

大家帮我看看 问题出在哪了

[复制链接]
发表于 2013-8-26 19:32:19 | 显示全部楼层 |阅读模式
1鱼币
我想做个最简单的控制台计算器  不知道问题出在哪了  各位帮我看看吧

#include <stdio.h>

int main(void)
{
        int a, b, c;
        char x;
       
        printf("请输入一个数:", a);
        scanf("%d", &a);

        printf("请输入一个数:", b);
    scanf("%d", &b);

    printf("请输入一个数:", x);
        scanf("%c\n", &x);

        if (x == '+')
        {
                c = a + b;
                printf("%d\n", c);
               
        }
               
    else if(x =='-')
                {
           c = a -b;
                   printf("%d\n", c);

                }       
}
上面是错误的代码

printf("请输入一个数:", x);        scanf("%c\n", &x);这句是我输入的  + - * /  没赋值给X  
控制台显示的是:

请输入一个数:3请输入一个数:3请输入一个符号:+Press any key to continue
你们看怎么没有答案啊?
请你们帮我解答下 应该怎么搞才行啊  谢谢各位了

最佳答案

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-26 19:32:20 | 显示全部楼层
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         int a, b, c;
  5.         char x;
  6.        
  7.         printf("请输入一个数:");//不要,a
  8.         scanf("%d", &a);
  9.        
  10.         printf("请输入一个数:");//同上
  11.     scanf("%d", &b);
  12.         setbuf(stdin,NULL);//清空输入流
  13.        
  14.     printf("请输入一个数:");//同上
  15.         scanf("%c", &x);//不要\n
  16.        
  17.         if (x == '+')
  18.         {
  19.                 c = a + b;
  20.                 printf("%d\n", c);
  21.                
  22.         }
  23.        
  24.     else if(x =='-')
  25.         {
  26.                 c = a -b;
  27.                 printf("%d\n", c);
  28.                
  29.         }

  30.         return 0;//必须有返回值
  31. }
复制代码
记得给最佳啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-8-26 19:41:03 | 显示全部楼层
小弟  鱼币不多  希望各位不要嫌弃哈:cry:cry:cry:cry:cry
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-26 20:31:26 | 显示全部楼层
好好看书,基本语法要会
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-26 21:08:58 | 显示全部楼层

版主,这个setbuf函数清空输入流是什么意思呢?小甲鱼课件里面也提到了输入流,但是一带而过,能给讲讲吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-26 22:21:45 | 显示全部楼层
秃先生 发表于 2013-8-26 21:08
版主,这个setbuf函数清空输入流是什么意思呢?小甲鱼课件里面也提到了输入流,但是一带而过,能给讲讲吗 ...

O(∩_∩)O~ printf是重输入流里读取数据的 如果不清空你想想看会怎么样
以这个为例子 就是那个回车'\n'要情况 否则就相当于先读取了回车就相当于你按了回车
也就不会让你输入第三次了出来的肯定是个垃圾数值
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-5 18:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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