你该逆袭了
第4章:重点摘录
五、scanf( )
1、使用 scanf( )
#include <stdio.h>
int main()
{
int age = 0;
float assets = 0;
char pet[30] = {
0 };
printf("Enter your age,assets,and favourite pet.\n");
scanf("%d %f", &age, &assets);
scanf("%s", pet);
printf("%d $%.2f %s\n", age, assets, pet);
return 0;
}
// scanf()函数使用 空白(换行符、制表符、空格)把输入分成多个字段。
// 在 依次把转换说明和字段匹配 时跳过空白。
// 注意:只要在每个输入项之间输入 至少一个 换行符、空格、制表符 即可,可以在一行或多行输入。
// 唯一例外的是 %c 转换说明。
// 根据 %c ,scanf() 会读取每个字符,包括 空白。
// scanf() 函数所用的转换说明与 printf() 函数 几乎相同。
// 主要区别:
// 对于 float类型 和 double类型 ,
// printf() 都使用 %f、%e、%E、%g 和 %G 转换说明。
// 而 scanf() 函数 只把它们用于 float 类型,
// 对于 double 类型 时,要使用 l 修饰符。
scanf()函数使用 空白(换行符、制表符、空格)把输入分成多个字段。
在 依次把转换说明和字段匹配 时跳过空白。
注意:只要在每个输入项之间输入 至少一个 换行符、空格、制表符 即可,可以在一行或多行输入。
唯一例外的是 %c 转换说明。
根据 %c ,scanf() 会读取每个字符,包括 空白。
scanf() 函数所用的转换说明与 printf() 函数 几乎相同。
主要区别:
对于 float类型 和 double类型 ,
printf() 都使用 %f、%e、%E、%g 和 %G 转换说明。
而 scanf() 函数 只把它们用于 float 类型,
对于 double 类型 时,要使用 l 修饰符。
(1)转换说明 *
转化说明 *
含义:抑制赋值
示例:“%*d”
scanf( ) 指示:跳过两个整数,把第三个整数拷贝给 n
在程序需要读取文件中特定列的内容时,这项跳过功能很有用。
//转化说明 *
//含义:抑制赋值
//示例:"%*d"
//P96 程序清单 4.17
//跳过输入中的前两个整数
#include <stdio.h>
int mai