看看
#include <Stdio.h>main()
{
int a,b;
printf ("请输入整型变量A的值\n");
scanf ("%d",&a);
printf ("请输入整型变量B的值\n");
scanf ("%d",&b);
printf ("A的值%d+B的值%d=%d\n",a,b,a+b);
getch();
}
----
为什么A的值输入字符型程序就出错并终止执行,怎样是输入字符时,程序要求重新输入?
请输入整型变量A的值
这种东西 你的A都写明了是int型为什么要输入字符型?? %d是不可能接受字符的。
建议好好看看书。 [font=新宋体]#include <stdio.h>
#include <conio.h>
int main(void)
{
int a, b, k;
do {
printf ("请输入整型变量A的值\n");
k = scanf ("%d", &a);
while(getchar() != '\n'); // 清空输入流中的字符
}while(k != 1);
do {
printf ("请输入整型变量B的值\n");
k = scanf ("%d", &b);
while(getchar() != '\n'); // 清空除输入流中的字符
}while(k != 1);
printf ("A的值%d+B的值%d=%d\n", a, b, a + b);
getch();
return 0;
}[/font]
[[it] 本帖最后由 cosdos 于 2008-9-6 23:06 编辑 [/it]]
回复 3# yuyangtian1000 的帖子
假入输错了,这样的话程序关闭了,那就没达到要求我现在问的事怎样当输入字符型时,可以重新输入 #include <stdio.h>
int main(void)
{
char a=0,b=0;
printf("please input two num A and B:");
scanf("%c%c",&a,&b);
if(a<48||a>56||b<48||b>56)
{
printf("\nplease input again:");
scanf("%c%c",&a,&b);
}
getchar();
return 0;
}
写完运行了,没问题。。
页:
[1]
