scanf

1、在使用scanf 函数进行输入时,要对变量取地址,使用&


1>   变量实例
int b = 10;
int a = 20;
l   1>内存由大到小寻址,优先分配内存地址较大的字节给变量。b的内存地址比a大
l   2>每个变量都有地址:第一个字节的地址就是变量的地址
 
2、在该函数的格式化中,不能添加除格式化外的内容
scanf注意事项
例:
scanf("a=%d,b=%d",&a,&b);
printf("Hello, World!\n");
printf("\n%d,%d",a,b);
输出结果:0,0
 
在scanf格式串后面加'\n'字符,会抵消掉人工输入的回车,敲回车不起作用,程序无法输出,解决方法,再输入一个符号,例逗号,然后再输入回车  
例:
    scanf("%d%d\n",&a,&b);错误
    printf("\n%d,%d\n",a,b);
//输入时必须在两个数字之间输逗号,即与格式传中保持一致
例:
    scanf("%d,%d",&a,&b);

    printf("\n%d,%d\n",a,b);
 
3、使用该函数一定要使用大键盘(小键盘,数字与快捷键组成)
小键盘回车与大键盘回车ASCII码值不同,所以作用在不同场合有所不同
 
4、scanf()函数返回成功读入的项目的个数。即在下面程序中scanf的返回值为1
    int n;
    float  p;
    n= scanf("%f",&p);
    printf("%d,%f",n,p);
 
5、用%c读入空格和字符的问题。如果在格式字符串中%c之前有一个空格,那么scanf()会跳到第一个非空白字符处。也就是说,命令scanf(“%c”,&ch)读取在输入中遇到的第一个字符,而scanf(“ %c”,&ch)(%c前有个空格)则读取遇到的第一个非空白字符。
     对于同时输入几个字符,如果逗号(或任何非空格字符)和第一个%c之间没有间隔,则输入时,第一个字符与逗号之间也不能有间隔;如果有空格,则输入时,第一个字符和逗号之间可以有任意多个字符,也可以是0个。如果逗号和第二个%c之间没有间隔,则逗号和第二个输入字符间也不能有间隔。如果有空格,则输入时,第二个字符和逗号之间可以有任意多个字符,也可以是0个。

posted on 2014-09-14 17:55  安琪  阅读(258)  评论(0编辑  收藏  举报

导航