#include "stdafx.h"
#include <stdlib.h>
void main()
{
char buffer[20];
int num;
printf("Please enter a number\n");
fgets(buffer, 20, stdin);
num = atoi(buffer);
if(num == '\0')
{
printf("Error Message!");
}
else
{
printf("\n\nThe number entered is %d", num);
}
getchar();
}
上面的代码接受一个字符串的形式的数,并将其转换使用的atoi为整数。 如果用户输入一个十进制数,只有小数点前的位被接受。 此外,如果用户输入一个字母时,它返回0。
现在,我有两个疑问:
ⅰ)我想要的程序以检测是否用户输入与小数点并输出一个错误消息的数目。 我不希望它到小数点前采取的一部分。 我希望它认识到,输入无效。
二)如果的atoi返回0的情况下有字母,我怎么能验证它,因为用户可以输入数字0呢?
谢谢。