【C++学习记录】

=======

标准函数scanf

功能:输入一组数据到变量中。

    格式:scanf(格式化字符串,地址列表)

    例如下面的语句从键盘读取一个十进制整数,并将其赋予整形变量x。

    scanf("%d",&x);

    scanf()的格式化字符串同printf()的格式化字符串差不多。

    地址列表是由若干个地址组成的列表,变量的地址表示法是在变量前加上&符(数组不用)。

    注:1、scanf()中不包含带"\"的转义字符,但包含求地址符"&"。

        2、如果格式控制中加入了格式符以外的其它字符,则通过键盘输入设备输入数据时这些字符也要同样输入,如果格式符中无其它字符间隔,输入时可以用空格、回车或跳格键Tab分隔数据。

        3、函数scanf()是将输入设备输入的数据赋给地址列表中对应的变量。地址列表的个数笔变量类型,决定了格式控制中格式符的个数和形式

        例如:int nX, nY, nA1, nB1, nC1, nA2, nB2, nC2;

              int nYear, nMonth, nDay;

              scanf("x=%d,y=%d",&nX, &nY);

              scanf("%d,%d,%d",&nA1, &nB1, &nC1);

              scanf("%d%d%d",&nA2, &nB2, &nC2);

              scanf("%d%*c%d%*c%d",nYear, nMonth, nDay);

              printf("x=%d,y=%d\n",nX, nY);

              printf("a1=%d,b1=%d,c1=%d\n",nA1, nB1, nC1);

              printf("a2=%d,b2=%d,c2=%d\n",nA2, nB2, nC2);

              printf("year-month-day:%d-%d-%d",nYear, nMonth, nDay);

运行结果:

x=1,y=2(由键盘输入)

3,4,5(由键盘输入)

6 7 8(由键盘输入)

2006/8/8(由键盘输入)

x=1,y=2

a1=3,b1=4,c1=5

a2=6,b2=7,c2=8

year-month-day:2006-8-8

    说明:%*c的作用是在通过键盘输入设备输入数据时输入任意字符,如上面的scanf("%d%*c%d%*c%d",nYear, nMonth, nDay);在输入时可以是2006/8/8,也可以是2006-8-8或者2006*8*8,可以按照个人习惯输入。

【其他参考】http://www.sudu.cn/info/html/edu/20070424/236211.html

=======

 

=======

摘自各地。。。