其实hello.c的例子只是显示一段字符串而已,并没有通过用户手动的输入,为了获取输入,就需要用到scanf函数,它是c函数库中与printf相对应的函数,scanf中的字母f和printf中的字母f含义相同,都表示格式化的意思,scanf函数需要知道将获得的输入数据的格式,而printf函数需要知道输出数据的格式。
int i;
scanf("%d",&i); //输一个int类型的变量i
其中,字符串’%d’说明scanf读入的是一个整数,而i是一个int型变量,用来存储scanf读入的输入。&运算符是一个取地址符,后面再会去继续介绍,现在只说明他在使用scanf函数是通常是必须的。(但是如果输入的数本身就是地址,也是不需要的);
读入一个float型值时,需要一个形式略有不同的scanf调用:
float x;
scanf("%f",&x); //输入一个float类型的变量
%f只用于float型变量,因为这里x是一个float类型变量。字符串‘%f’告诉scanf函数去寻找一个float格式的输入值(此数可以函数小数点,但不是必须有的);
现在我们再hello.C里面在改进一下代码。
#include<stdio.h>
int main(int argc, const char *argv[])
{
int s;
int leng;
int width;
printf("请输入leng = ");
scanf("%d",&leng);
printf("请输入width = ");
scanf("%d",&width);
printf("面积s = %d",leng * width );
printf("\n");
printf("Hello World\n");
return 0;
}
运行结果: