我是c编程新手 我写了一个程序。但是当我在进入我的选择程序之前运行程序结束时。 这是截图。 https://onedrive.live.com/download?resid=E63780628DD96583!3161&authkey=!APl3ReO7T4XIO_s&v=3&ithint=photo,jpg
#include<stdio.h>
#include<conio.h>
main()
{
char ch;
int num1, num2, a, m, s;
float d;
printf("\nEnter The First Number: ");
scanf("%d", &num1);
printf("\nEnter The Second Number: ");
scanf("%d", &num2);
a=num1+num2;
m=num1*num2;
s=num1-num2;
d=(float)(num1/num2);
printf("\nEnter Your Choice: ");
scanf("%c", &ch);
switch(ch)
{
case 'A': printf("\nThe Addition Of The Number Is= %d", a);
break;
case 'M': printf("\nThe Multipication Of The Numbers Is= %d", m);
break;
case 'S': printf("\The Subsraction Of THe Numbers Is= %d", s);
break;
case 'D': printf("\nThe Division Of The Two Numbers Is= %f", d);
break;
default : printf("\nInvalid Entry");
break;
}
getch();
return 0;
}
我在哪里犯了错误???
答案 0 :(得分:3)
在%c
中scanf
之前添加空格将解决问题。这是因为输入第一个值后scanf
不会使用\n
字符两个整数。由于Enter键(\n
)也是一个字符,它被scanf("%c",&ch);
消耗,因此,你的默认情况被执行。%c之前的空格将丢弃所有空格和空格