程序如下,运行时如果输入了字母,程序就会跑飞,自己不停的循环,请问怎样才能判断出输入的是一串字母还是一个数,防止死循环?
#define PI 3.1415926
#include <stdio.h>
main()
{
double r,v;
printf("\n计算球的体积");
while(r!=0)
{
printf("\n请输入球体的半径(退出请输入0):");
scanf("%lf",&r);
if(r==0)break;
v=4/3*PI*r*r*r;
printf("\n球的半径为%lf,\t\t球的体积为%lf\n",r,v);
}
printf("\n\t\t程序结束!\n\n");
}
如果改成下面这样能防止,但是不能返回正确的错误信息,不知道是因为输入0退出的还是字母造成非法退出,最好能返回错误信息后程序继续运行等待输入半径,进行下一次计算。
#define PI 3.1415926
#include <stdio.h>
main()
{
double r,v;
printf("\n计算球的体积");
while(r!=0)
{ r=0;
printf("\n请输入球体的半径(退出请输入0):");
scanf("%lf",&r);
if(r==0)break;
v=4/3*PI*r*r*r;
printf("\n球的半径为%lf,\t\t球的体积为%lf\n",r,v);
}
printf("\n\t\t程序结束!\n\n");
}
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始的.cpp文件,例如:test.cpp。
2、其次,在test.cpp文件中,输入C语言代码:char a = getchar(); getchar();
if (a <= '9' && a >= '0') printf("数字");else printf("字母");
3、然后,编译器运行test.cpp文件,输入数字,此时会成功判断输入内容为数字。
4、最后,输入字母,此时成功判断了输入内容为字母。