首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于C的一个有关问题,新手

2013-09-09 
关于C的一个问题,新手#includestdio.hint main(void){int a,bchar oint sumprintf(请输入你要运算的

关于C的一个问题,新手


#include<stdio.h>
int main(void)
{
int a,b;
char o;
int sum;

printf("请输入你要运算的运算符\n");
scanf("%c",&o);                  /*这两段代码跟下面的的换一下位置就出现了问题,会跳过等待键盘输入。不知道什么原因求解 */

printf("请输入你要运算的第一个数字\n");
scanf("%d",&a);

printf("请输入你要运算的第二个数字\n");
scanf("%d",&b);

/*
        如果将输入运算符放中间。
        运行结果是:
        请输入你要运算的第一个数字
        1
        请输入你要运算的运算符
        请输入你要运算的第二个数字
        */
switch (o)
{
case'+':
printf("%d%c%d=%d",a,o,b,a+b);
break;
case'-':
printf("%d%c%d=%d",a,o,b,a-b);
break;
case'*':
printf("%d%c%d=%d",a,o,b,a*b);
break;
case'/':
printf("%d%c%d=%d",a,o,b,a/b);
break;

}
return 0;
}
c
[解决办法]

//每次 scanf函数前面scanf(" %c", &o)留一个空格试试
 printf("请输入你要运算的运算符\n");
    scanf(" %c",&o);                  /*这两段代码跟下面的的换一下位置就出现了问题,会跳过等待键盘输入。不知道什么原因求解 */
     
    printf("请输入你要运算的第一个数字\n");
    scanf(" %d",&a);
 
    printf("请输入你要运算的第二个数字\n");
    scanf(" %d",&b);
     

[解决办法]
因为输完a后的回车会被认为是字符\n
[解决办法]
回车的时候已经输入字符了,排除回车情形,用条件判断可以,getchar中和可以,还有就是先输入数字,在输入操作符也可以。还有就是自己想个万能的

热点排行