6/5
2017
上回在程序中用printf语句输入了我们想要输出的文字,但站在用户的角度来说,每次运行程序都要跑到后台来设置输出的内容,简直非常蛋疼,
那我们就用scanf格式化输入语句,将我们在窗口输入的内容再输出去。
首先依旧是打开Code::Block,新建项目,在sources里面打开main.c文件,输入以下程序
#include<stdio.h>
int main()
{ int x,y,z; //用int定义三个整形变量x,y,z
printf("输入三个10以内数字:");
scanf("%d,%d,%d \n",&x,&y,&z); // %d是占位符意思是让计算机给输入的内容留三个位置
printf("输出之前的内容:%d",x,y,z);
return 0;
}
然后按F9建立项目并运行
得到如图结果
说明:C语言中的%d用于十进制数的输入和输出格式控制,所以只能用给十进制数留空,如果输入字母那么计算机便会自动输出一个十进制数。如果我们需要十六进制数的输入和输出就要用%x来控制了。
在scanf语句中我们的输入要有三个%d,因为我们定义了三个变量,输入也需要三个十进制数程序才能继续运行输出结果,引号后面需要用&来给前面定义的变量赋值。
到这里我们可以拓展一下,利用%d和%x来写一个十进制转换到十六进制的程序
新建项目,到main.c里面写程序
#include <stdio.h> int main() { int x; //定义一个变量 printf("输入一个十进制数:\n"); scanf("%d",&x); printf("输出十六进制数:\n0x%x",x); return 0; }
前面说过,%x用来输入和输出十六进制数,我们利用了这个作用来转换十进制和十六进制,同理,我们也可以交换%d和%x的位置来实现十六进制转到十进制的功能。