如何读取数字?
scanf提供了一种简单的读取方式,但它对结束行处理得不好(why?)。
另一点,用scanf读入的字符串中不能含有“空格”,否则会以“空格”为分隔,将输入的字符串分隔为若干个字符串来处理。
人们很快找到了弥补scanf缺陷的简单方法:使用fgets+sscanf读取数字。
用fgets读取输入的一行,并用sscanf把文本转化成数字型。
sscanf代表“string scanf”, sscanf类似于scanf, 但它作用于串,而不是标准输入。
【例程】将输入的数据倍乘
/* DOUBLE.C -- double a input value */
#include "stdio.h"
#include "conio.h"
char line[100]; /* input line from console */
int value; /* to double this value */
int main()
{
printf("Enter a value: ");
fgets(line,sizeof(line),stdin);
sscanf(line,"%d",&value);
printf("Twice %d is %d/n",value,value*2);
getch();
return(0);
}