scanf()与交互式程序

来源:互联网 发布:苏州seo大牛 编辑:程序博客网 时间:2024/06/04 20:05

程序通过与外界交换信息的程序叫做交互式程序。
上一篇目中我们定义了一个变量x,并为其赋值然后再屏幕中输出。但是如果想要改变x的值,就需要重新回到源代码中更改。所以要想在程序运行后更改变量的值那么就需要scanf()这个函数。
scanf(scan中文意思是扫描,电脑所配备的“扫描”工具就是键盘,所以程序运行后通过键盘更改变量的值。)
例如:

#include<stdio.h>int main(void){    int x;    scanf("%d",&x);    printf("%d",x);    return 0;}

我们没有给变量x的值,当我们运行程序后,程序会等待你输入整数,输入后,敲击回车,输入的数字就会保存在变量x中,然后输出x的值。
scanf(”%d”,&x);这里我们定义的x还是int类型的,所以在scanf()中还是要通过%d进行转换,后面的&x,&的意思是“取地址”,因为保存数据总需要第一地方来保存,但是这个地方在哪呢?总会需要一个地址来标记,就像邮寄包裹,总需要填写需要邮递地点的地址。
扩展:
如果要使用多个变量:

#include<stdio.h>int main(void){    int x,y;    scanf("%d%d",&x,&y);    printf("%d",x+y);    return 0;}

这个程序我们定义了两个整型变量x和y。
我们看到scanf(“%d%d”,&x,&y);有两个%d,后面是&x&y,也就是说程序会按顺序把键盘输入的数据存到x和y中,例如键盘输入1和3,默认是以空格隔开这两个数字。
printf(“%d”,x+y);这里只有一个%d,因为后面是x+y这是一个整体,程序会先运算x+y,然后将运算后的值打印到屏幕上。
scanf()的一些其他使用:如果要求输入的两个数字之间要求用一些符号隔开,比如要求输入1+3
那么就需要更改scanf()
其方法是scanf(“%d+%d”,&x,&y);我们可以看到在两个%d之间有一个加号,也就是说如果输入的两个数字间有一些符号,那么只需要在scanf()对应的地方加上符号就可以了。
当然还可以通过%,或%c.(%的使用不常见,所以不做赘述,有兴趣的可以联系博主,博主qq1205446803,对于%c的使用会在后面篇目的例题中出现)。

0 0
原创粉丝点击