这是一个程序,它逐个字符地读取数据,直到找到一个字符数字并将其转换为整数。
#include <stdio.h>
int main(void) {
char ch = getchar();
printf("Type some data including a number");
while(ch < '0' || ch > '9') //as long as the character is not a digit.
{
ch = getchar();
}
int num = 0;
while(ch >= '0' && ch <= '9') //as long as we get a digit
{
num = num * 10 + ch - '0'; //convert char digit to integer
ch = getchar();
}
printf("Number is %d\n",num);
}
这个程序只找到正整数。我希望程序也能找到负整数或浮点数。我如何制作程序来做到这一点?我尝试在 while 循环中使用 if 语句来查找数字,但这对我不起作用。