scanf函数是输入函数,格式如下:

scnaf("格式控制",变量地址);
scanf("%d",&n);//int 类型
scanf("%lld",&n);//long long 类型
scanf("%f",&fl);//float 类型
scanf("%lf",&db);//double 类型
scanf("%c",&c);//char 类型
scanf("%s",str);//字符串,char数组 类型

说明:

  • 在scanf中除了字符串(char数组)不加&,其他的变量类型都需要加取地址运算符&;
  • scanf的双引号内的内容其实是整个输入,指标不过把数据换成它们对应的格式符并把变量地址按次序写在后面而已;
  • 除了%c以外,scanf对其他的格式符的输入是以空白符(空格,Tab,换行)为结束标志的,字符数组使用%s读入的时候以空格和换行为读入结束的标志,字符char类型是可以读入空格和换行的。

使用scanf()输入多行:

while(scanf("%d",n)!=EOF){
//逻辑代码
}

 

printf函数是输出函数,格式如下:

printf("格式控制",变量名称);
printf("%d",n)// int 类型
printf("%lld",n)//long long 类型
printf("%f",fl)//float 类型
printf("%f",db)//double 类型
printf("%c",c)//char 类型
printf("%s",str)//字符串(char数组)类型

说明:

  • double类型的变量,其输出格式变成了%f,而在scanf中却是%lf,double类型的精度比较高,建议使用double;
  • %md:可以使不足m为的int型变量以m位进行右对齐输出,其中高位用空格补齐,如果变量本身超过m位,则保持原样;
  • %0md:可以使不足m为的int型变量以m位进行右对齐输出,其中高位用0补齐,如果变量本身超过m位,则保持原样;
  • %.mf:可以让浮点数保留m位小数输出,这个“保留”使用的是精度为“四舍六入五成双的规则”。