C学习笔记之scanf

来源:互联网 发布:政务数据管理制度 编辑:程序博客网 时间:2024/04/30 07:17

一、scanf函数介绍
            这也是在stdio.h中声明的一个函数因此使用前必须加入#include<stdio.h>调用scanf函数时需要传入变量的地址作为参数scanf函数会等待标准输入设备比如键盘输入数据并且将输入的数据赋值给地址对应的变量。
            函数原型为:
int scanf(const char*format,...);
 
二、scanf用法
      
  #import <stdio.h>    int main()    {    int age;       // 接收输入的值赋给age age2    scanf("%d", &age);        printf("age=%d\n", age);    return 0;    } 


          这里从键盘接收一个整形数存放到变量age中。当接收多个数时,可以这样用:

    

    #import <stdio.h>    int main()    {    int age;       // 接收输入的值赋给age age2    scanf("%d", &age);        printf("age=%d\n", age);    return 0;    } 


这里要注意的是,在输入时可以输入一个数回车后再输入一个数,也可以输入一个数空格再输入另一个数回车。但是如果是这样的又不一样,
 
scanf("%d,%d", &age, &age2);
scanf中的两个格式化参数是用逗号隔开的,所有同时输入两个数就要用逗号分隔而不再是空格,你可能注意到规律了,scanf中格式化参数是用什么分隔的在输入数时,要一次回车输入的话就要用什么分隔。
        对字符的用法也同样适用。

    

    char a;    scanf("%c",&a);        printf("a=%c", a); 

        接收一个字符,存放到字符变量a中,同时输入多个字符也适用上面的用法。
三、字符串的接收 
        从键盘输入的字符串放到指定数组中如下:

    

    // 字符串数组    char str[10];    // 接收字符串    scanf("%s", str);  

        注意:这里的的str不用加取地址符,数组名代表着地址,当输入字符串时不能有空格,否则会出现下图结果。
可以看到,空格和空格以后的字符串都不会被接收,因为scanf函数在遇到空格或回车时会返回。看看下面的你也许就明白了:

   

    // 字符串数组    char str[10];    char str2[10];    // 接收字符串    scanf("%s %s", str, str2);    printf("%s\n%s", str, str2); 

 

scanf在两个参数中间是空格分隔的,遇到第一个空格就返回把空格前面的字符串存放到str中,再把空格后面的字符串存放到str2中。
那么按小桥的说法是不是用scanf接收字符串就不能包含空格了呢?但是有时一个字符串中确实有空格,答案是否定的,因为scanf的高级功能可以解决这个问题。 
 
四、%[]格式控制符
            scanf的%[]格式控制符能够控制函数什么时候返回。如:

    

    scanf("%s", str); // 接收的字符串中没有空格    scanf("%[^\n]", str2); // 接收包含空格的字符串

        

第二句和第一句的格式化参数不同,什么意思呢?%[^\n]表示的是除了\n符外,接收所有字符,也就是函数遇到回车才返回 ^是取反的意思。同样输入 i love oc! 结果如下:

更多 %[] 的信息,读者可以自行查找资料 

2 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 黑曼巴c挂不上弦怎么办 费效比超过100%怎么办 入职体检不报销怎么办 入职体检过不了怎么办 入职体检血糖高怎么办 入职体检没过怎么办 入职体检血压高怎么办 看病没带医保卡怎么办 孕妇8个月血压高怎么办 怀孕3个月血压高怎么办 怀孕3个月血压低怎么办 38周孕妇血压高怎么办 孕前检查后怀孕怎么办 精子a加b成活率底怎么办 怀孕五周孕酮低怎么办 怀孕38天孕酮低怎么办 刚怀孕了孕酮低怎么办 怀孕2个月孕酮低怎么办 怀孕七周孕酮低怎么办 孕前检查孕酮低怎么办 甘油三酯偏高7.2怎么办 入职体检来例假怎么办 6激素检查喝水了怎么办 抽血前吃了东西怎么办 怀孕一个月孕酮低怎么办 怀孕了老是有痰怎么办 孕妇有很多白痰怎么办 血糖高怎么办吃什么好 5年糖尿病血糖高怎么办 血糖高引起的视力模糊怎么办 谷丙转氨酶和谷草转氨酶高怎么办 产检血糖有点高怎么办 孕期餐后血糖高怎么办 怀孕12周血糖高怎么办 怀孕2个月血糖高怎么办 怀孕7个月血糖高怎么办 孕妇7个月血糖高怎么办 空腹血糖6%2e7怎么办 血糖和尿酸都高怎么办 血糖高的孕妇便秘怎么办 血糖低怎么办吃什么好