C语言的学习历程1

大学生发现一个很好玩的现象就很开心:(其实这篇文章是要在去年就发的但是忘记了,然后还是想记录一下,所以就补上了)

我们会发现其实在等号、分号前后打括号是没有影响的无论我怎么改输出结果都是正确的:C语言的学习历程1_第1张图片

哪怕是这样。其实我们最需要注意的应该是scanf输入的空格:因为对于它的输入是有限制的:比如我们把scanf的前面部分这样C语言的学习历程1_第2张图片 

我们在输入时就只是先打一个数字再按个enter键再输入因为在scanf输入整数时是以空格和回车为分隔符的,什么是分隔符,你可以理解为,两个数1,2不可能直接输入12这样会误以为是十二,所以这时候我们还要再打一个东西来把他们分开,准确来说,如果scanf格式像上面这样的话,只有当程序接受到整数才会输入对应的数里面,而如果是这样

C语言的学习历程1_第3张图片 就多了个空格,你会发现我们输入时要先输入一个整数,必须再输入一个空格之后才可以读取后面输入的整数,如果这时候你输入回车想要当作分隔符并且没有输入空格的话,它就会一直输入不到第二个整数,可能这时候还有一点抽象,再来一个例子比如scanf("%d ,%d",&a,&b);这时候你会发现在输入两个整数之间的时候一定要输入一个逗号,不然第二个整数就进入不了b变量里面;总结一下就是用scanf输入的时候一定要按引号里面的格式来,这时候我们来举个例子更加具有说服力:

这是程序

#include
int main()
{

    int a,b;
    scanf("%d %d",&a,&b);
    printf("%d %d",a,b);
    return 0;
}

我输入1(空格)2;

结果 

C语言的学习历程1_第4张图片

 但是我输入1,2时

C语言的学习历程1_第5张图片

 这时候你会发现,第二个根本就没输入进去,是随机值;

然后把代码的输入改成:

scanf("%d,%d",&a,&b);

然后我再输入

1(空格)2

得到的结果

C语言的学习历程1_第6张图片

 但是输入1,2

得到的结果就是对的

C语言的学习历程1_第7张图片

 

本来到这里就要结束了,但是突然突发奇想还是想再补充一点:

%s用scanf输入的时候分隔符也是和整型一样的,所以%s是输入不了字符空格和回车的。但是%c就不一样了,你按的任何一个按键就都有可能当作一个字符,准确来说它没有分隔符,所以有时候输入很麻烦QAQ~~

知道你最近很累,但是请相信,你受过的苦,吃过的亏,扛过的责,担过的罪,到最后都会变成光,照亮你的路!!!,所以坚持下去吧。

你可能感兴趣的:(学习)