正在加载图片...
靳润昭C语言教程讲义 2001年2月17日 scanf(%4d%4d", &a, &b) 输入:12345678 将把1234赋予a,而把5678赋予b 4)长度:长度格式符为1和h,1表示输入长整型数据(如%1d)和双精度浮点数(如%lf)。h 表示输入短整型数据。 使用 scanf函数还必须注意以下几点: l) scanf函数中没有精度控制,如: scanf("‰5.2f",&a);是非法的。不能企图用此语 句输入小数为2位的实数。 2) scanf中要求给出变量地址,如给出变量名则会出错。如 scanf("%d",a);是非法 的,应改为 scaf("%d",&a);才是合法的 3)在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则 可用空格,TAB或回车作间隔。C编译在碰到空格,TAB,回车或非法数据(如对w%d 输入12A时,A即为非法数据)时即认为该数据结束 4)在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有 效字符 例如 canf ( %c%c%c", &a, &b, &c) 输入为 则把’d'赋予a,’’赋予b,’e'赋予c 只有当输入为: 时,才能把'd'赋于a,’e'赋予b,’f'赋予c。 如果在格式控制中加入空格作为间隔 scanf ("%c %c %c",&a, &b, &c) 则输入时各数据之间可加空格 【例4.8】 ain printf( input character a, b\n) scanf("%c%",&a, &b) printf("%%c\n", a, b) 由于 scanf函数"%c%c″中没有空格,输入MN,结果输出只有M。而输入改为MN时则 可输出MN两字符。 【例4.9】 main printf( input character a, b\n") scanf ("%c %c", &a, &b) printf("\n%c%c\n", a, b) 第10页靳润昭 C 语言教程讲义 2001 年 2 月 17 日 第10页 scanf("%4d%4d",&a,&b); 输入:12345678 将把 1234 赋予 a,而把 5678 赋予 b。 4) 长度:长度格式符为 l 和 h,l 表示输入长整型数据(如%ld) 和双精度浮点数(如%lf)。h 表示输入短整型数据。 使用 scanf 函数还必须注意以下几点: 1) scanf 函数中没有精度控制,如:scanf("%5.2f",&a);是非法的。不能企图用此语 句输入小数为 2 位的实数。 2) scanf 中要求给出变量地址,如给出变量名则会出错。如 scanf("%d",a);是非法 的,应改为 scnaf("%d",&a);才是合法的。 3) 在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则 可用空格,TAB 或回车作间隔。C 编译在碰到空格,TAB,回车或非法数据(如对“%d” 输入“12A”时,A 即为非法数据)时即认为该数据结束。 4) 在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有 效字符。 例如: scanf("%c%c%c",&a,&b,&c); 输入为: d e f 则把'd'赋予 a, ' ' 赋予 b,'e'赋予 c。 只有当输入为: def 时,才能把'd'赋于 a,'e'赋予 b,'f'赋予 c。 如果在格式控制中加入空格作为间隔, 如: scanf ("%c %c %c",&a,&b,&c); 则输入时各数据之间可加空格。 【例 4.8】 main(){ char a,b; printf("input character a,b\n"); scanf("%c%c",&a,&b); printf("%c%c\n",a,b); } 由于 scanf 函数"%c%c"中没有空格,输入 M N,结果输出只有 M。而输入改为 MN 时则 可输出 MN 两字符。 【例 4.9】 main(){ char a,b; printf("input character a,b\n"); scanf("%c %c",&a,&b); printf("\n%c%c\n",a,b);
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有