scanf一次给多个变量赋值

本节课程笔记:

一是对多个变量进行赋值,二是对非法输入的值做正确处理(处理方式了解即可,相关函数知识后期讲解),三是美化scanf代码加入输出说明。

 1 /*
 2   Name:scanf一次给多个变量赋值 
 3   Copyright:yangbin.org
 4   Author: Yangbin
 5   Date:2014年2月8日 20:57:44 
 6   Description:本课程笔记,一是对多个变量进行赋值,二是对非法输入的值做正确处理(处理方式了解即可,相关函数知识后期讲解),三是美化scanf代码加入输出说明。 
 7 */
 8 # include <stdio.h>
 9 # include <stdlib.h>
10 int main(void)
11 {
12     int i,j;
13     
14     printf("请输入两个数值,中间以空格分隔(不能包含汉字、符号、字母):");
15     scanf("%d %d", &i, &j); //输入i和j的一个值 
16     /*scanf("%d\n", &i);  scanf输入时,切记不能使用\n;
17     非输入控制符必须原字符输出,如:
18     scanf("%d, %d", &i, &j) 输入本句时必须加 逗号;
19     */ 
20        
21     printf("i = %d, j = %d\n", i, j); //输出 i,j的值 
22   
23     system("pause");
24   return 0;
25 }
26 /*
27 ----------------------
28 该代码在Dev-C++ 4.9.9.2下编写
29 ------输出结果--------
30  请输入两个数值,中间以空格分隔(不能包含汉字、符号、字母):2 3
31 i = 2, j = 3
32 --------总结---------
33    使用scanf之前最好先使用printf提示用户以什么样的方式来输入
34   Scanf中尽量不要使用非输入控制符,尤其是不要用\n
35   应该编写代码对用户的非法输入做适当的处理【非重点】
36   while ((ch=getchar()) != '\n')
37           continue; 
38 
39 */

 以下内容来自百度百科:

scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。
如:
scanf("%d,%d", &a, &b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF。
且返回值为int型.
例:使用scanf函数输入数据。
#include<stdio.h>
int main()
{
    int a,b,c;
    printf("输入 a, b, c\n");
    scanf("%d,%d,%d", &a, &b, &c);
    printf("a = %d b = %d c = %d\n", a, b, c);
    fflush(stdin);
    return 0;
}
注意上面的scanf("%d,%d,%d",&a,&b,&c);中%d,%d,%d之间有逗号,在输入数据时也要加逗号,如果去掉逗号,输入时就不用逗号,而用空格,tab键或回车键将各个数据隔开
&a,&b,&c中的&是地址运算符,&a指a在内存中的地址。scanf的作用是:按照a,b,c的内存地址将a,b,c的值存进去。变量a,b,c的地址是在编译连续阶段分配的。
这里注意:如果scanf中%d是连着写的如“%d%d%d”,在输入数据是,数据之间不可以加逗号,只能是空格或tab键或者回车键——“2 3 4”/“2(按tab)3(按tab)4(按tab)”。若是“%d,%d,%d”,则在输入数据时需要加“,”——“2,3,4”.  

转载于:https://www.cnblogs.com/Yang-bin/p/3541051.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值