(本文为博闻网版权所有,转载必须注明出处。)

前面的程序很好,但要是如果能从用户那里读入值5和7而不是使用固定的值的话,那就更好了。可以改为下面的程序:
#include 

int main()
{
int a, b, c;
printf("输入第一个值:");
scanf("%d",
printf("输入第二个值:");
scanf("%d",
c = a + b;
printf("%d + %d = %d
\n", a, b, c);
return 0;
}

以下是程序的执行过程:

C语言执行程序示例
HSW
C语言执行程序示例

请按照上例修改原来的程序,然后重新编译和执行并确保它能正常工作。注意scanfprintf都要使用格式字符串(可以键入man scanf获取更多信息)。还要注意a和b前面都有一个“&”。这是C语言中的取地址运算符,它会返回变数的地址(在我们讨论指针之前,这个符号没什么用)。在对单个字符,整数,或者浮点数形式的任何变量做标准输入,以及对结构形式(我们很快就会接触到)的任何变量做标准输入时,您都必须使用&运算符。如果您遗漏了&运算符,您在运行程序时会报错。您可以试试,这样就能看到这种运行错误是什么样子。

让我们通过一些变量来完全理解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
在UNIX机器上要了解printf的更多细节,可以键入man 3 printf。如果使用任何其他C编译器,则您很可能在其附带手册或帮助文件中找到对printf的说明。


 打印  电子邮件  反馈  引用
编辑推荐
软件狗是什么?
软件狗(Software Dog)是一种计算机软件的加密方式,是“硬件加密锁”的
间谍软件工作原理
您的计算机是否曾变得非常慢,即使打开Word处理器也会占用很长时间,间谍软件可能
什么是路由算法?
路由器是管理网络流量和发送数据包的,但是它是如何决定数据包发送的呢?通过本文,博
Gnutella文件共...
Napster在巅峰时期或许是有史以来最受欢迎的网站。紧随其后的文件共享体系架构
主页 |  公司信息 |  广告服务 |  招聘信息 |  隐私 |  联系我们 |  帮助 |  条款和条件