scanf的用法

作者在 2011-08-03 16:48:20 发布以下内容
/*
时间:2011年8月3日16:36:57
目的:测试scanf的用法及注意事项
*/

# include <stdio.h>

int main(void)
{
    int i;
    printf("请输入一个数,比如123,按回车结束\n");    //最好在使用scanf前用printf做一下输入提示,否则弹出窗口只出现一个光标,会让人无所适从
    scanf("%d",&i);        //运行后在弹出的窗口输入数值,回车结束。这里输入123为变量i赋值
                        
//注意 & 是取地址符,scanf中必须使用&i,而不能直接写成i
    printf("i = %d\n",i);    //显示的结果为i = 123

    int j, k;
    printf("请输入两个数,中间用逗号隔开,比如4,5,按回车结束\n");
    scanf("%d,%d",&j,&k);        //这里使用了非输入控制符逗号,所以在弹出的窗口也必须按此格式输入逗号,如4,5。
                                
//注意 \n 也是一个非输入控制符,如果使用了\n,则必须在输入数字后也照原样输入\n,所以这与printf不同,scanf不使用\n
    printf("j = %d, k = %d\n",j,k);  //显示j = 4, k = 5  
                                    
    int r, s;
    printf("试试不按规定输入,比如输入45,看看会发生什么,按回车结束\n");
    scanf("%d,%d",&r,&s);
    printf("r = %d, s = %d\n",r,s);   //这里如输入了45,则45会一起被认为是第一个数字赋值给r,而第二个数字会出错,最后显示r = 45, s = -858993460
    
    
    
    int m, n;
    printf("再试试不按规定输入,比如输入4 5,看看会发生什么,按回车结束\n");
    scanf("%d,%d",&m,&n);
    printf("m = %d, n = %d\n",m,n);   //这里如果不按规定输入,比如输入了4 5,则第二个数字会出错,最后显示m = 4, n = -858993460

    
    /*
    char ch;
    while ( (ch=getchar()) != '\n')                
    continue;
    
*/
                                        //代码A  这段代码可以帮助解决前面代码出错对后面代码的影响
    
    int a, b;
    printf("再正确输入一次,比如输入4,5 ,看看前面出现的错误会对后面造成什么影响,按回车结束\n");
    scanf("%d,%d",&a,&b);
    printf("a = %d, b = %d\n",a,b);  //这里还没等输入,就会显示结果 a = 5, b =  -858993460, 因为之前的错误,使得上次输入的5并没能赋值给n而留到这次赋给了a

    

    return(0);
}

/*
在VC++6.0中的运行结果为:
——————————————
请输入一个数,比如123,按回车结束
123
i = 123
请输入两个数,中间用逗号隔开,比如4,5,按回车结束
4,5
j = 4, k = 5
试试不按规定输入,比如输入45,看看会发生什么,按回车结束
45
r = 45, s = -858993460
再试试不按规定输入,比如输入4 5,看看会发生什么,按回车结束
4 5
m = 4, n = -858993460
再正确输入一次,比如输入4,5 ,看看前面出现的错误会对后面造成什么影响,按回车结

a = 5, b = -858993460
Press any key to continue
——————————————

将代码A取消注释后的运行结果
——————————————
请输入一个数,比如123,按回车结束
123
i = 123
请输入两个数,中间用逗号隔开,比如4,5,按回车结束
4,5
j = 4, k = 5
试试不按规定输入,比如输入45,看看会发生什么,按回车结束
45
r = 45, s = -858993460
再试试不按规定输入,比如输入4 5,看看会发生什么,按回车结束
4 5
m = 4, n = -858993460
再正确输入一次,比如输入4,5 ,看看前面出现的错误会对后面造成什么影响,按回车结

4,5
a = 4, b = 5
Press any key to continue
——————————————
*/
郝斌视频笔记 | 阅读 1278 次
文章评论,共0条
游客请输入验证码
最新评论