C语言复习笔记二:输入输出

来源:互联网 发布:淘宝售后管理 编辑:程序博客网 时间:2024/05/17 04:55

1:输出

(1)       在输出格式说明中加#,结果显示出进制格式,但只限于八进制和十六进制

例如:

  Printf(“%o,%#0,%x,%#x”,10,10,10,10);

结果:12012a0xa

(2)       格式说明的个数少于输出项个数,不输出

例如:

main()

{ int a=111,b=222

 printf(“%d/n”,ab);

}

结果:111

(3) 格式说明的个数多余输出项的个数,系统输出不定值

(4) 如要输出输出百分号,用两个百分号表示。

2:输入

(1)可对整数指定数据所占宽度,但不能实型数指定小数宽度

(2)格式说明个数多余或少于输入项个数,都结束输入

(3)如果输入的数据多余输入项,多余的数据留作下一次输入的数据

例如:

main()

{ int a,b;

printf("input!/n");

scanf("%d%d",&a,&b);

printf("input!/n");

scanf("%d%d",&a,&b);

printf("%d %d",a,b );

getch();

}

第一次输入1_2,第二个输入语句还要输入;

第一次输入1_2_3_4,第二次不用输,a=3;b=4;

(4)%与格式字符间加一个*,表示跳过对应数据

(5)scanf在调用结束后将返回一个函数值,函数值为格式说明的个数

注:本知识点个人看法,我看的这本书上说的是,函数值为得到输入值的输入项的个数;下面是我验证的过程

例如:

main()

{ int a,b,m;

m=scanf("%d%d%d",&a,&b);

printf("%d",m);

getch();}

输入:1_2_3;m=3;

输入:1_2_3_4;m=3;

main()

{ int a,b,m;

m=scanf("%d%d",&a,&b,&m);

printf("%d",m);

getch();}

输入:1_2_3;m=2;

输入:1_2;m=2;