Printf:读取用户输入
前面的程序很好,但要是如果能从用户那里读入值5和7而不是使用固定的值的话,那就更好了。可以改为下面的程序:
#include\
int main()
{int a, b, c;printf("输入第一个值:");scanf("%d",printf("输入第二个值:");
scanf("%d", c = a + b;printf("%d + %d = %dn", a, b, c);return 0;}
以下是程序的执行过程:
|
让我们通过一些变量来完全理解printf。这是最简单的printf声明:
printf("您好");
它的格式字符串告诉printf把“您好”二字发送到标准输出。对比:
printf("您好\n");
两者的区别是后者在“您好”后跟一个回车换行,一起送到标准输出。
下面这行显示了如何使用printf输出一个变量的值。
printf("%d", b)
%d是占位符,会在printf语句执行时替换为变量b的值。通常您需要把输出值嵌入到一些文字之中。一种方法是这样:
printf("温度是");
printf("%d", b);
printf(" 度\n");
更简单的方法是这样写:
printf("温度是 %d 度\n", b);
一个printf语句中可以使用多个%d占位符:
printf("%d + %d = %d\n", a, b, c);
在printf语句中,格式字符串包含的操作符数目和后面的变量的数目和类型一定要一致,这一点极为重要。例如,如果格式字符串包含有三个%d操作符,那么格式字符串后面必须紧接正好三个参数,且参数的类型和先后顺序必须和操作符指定的是一样的。
使用不同形式的占位符,printf可以打印所有的C标准类型:
- int(整数)用%d
- float(浮点数)用%f
- char(单个字符)用%c
- 字符串(字符数组,见后面讨论)用%s