C语言编程之《数据输出》

 在上一节中我们已经学会如何让计算机做加减乘除运算,但是计算机在输出的时候,只显示一个结果,这样不够人性化。如果我们可以将整个算数等式输出就好了,形如:1+2=3。那么问题来了,这该怎么写呢?

原来的代码如下:

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int a,b,c;
	a=1;
    b=2;
	c=a+b;
	printf("%d",c);
	return 0;
}

新的代码:


#include <stdio.h>
#include <stdlib.h>
int main()
{
	int a,b,c;
	a=1;
	b=2;
    c=a+b;
	printf("%d+%d=%d",a,b,c);
	return 0;
}

仔细阅读代码你会发现,新的代码和原来的代码只有最后一句printf不一样。接下来我们仔细分析一下printf("%d+%d=%d",a,b,c);

printf语句只会输出双引号里面的部分,双引号之外的部分,只是对双引号内的部分起到补充说明的作用。

例如:printf("%d+%d=%d",a,b,c);这行语句,双引号里面的部分是"%d+%d=%d",那么计算机在输出的时候就严格按照"%d+%d=%d"执行,输出的形式必然是%d+%d=%d。

当计算机遇到第一个%d,知道“讨债的”来了,于是他便去双引号的后面讨债,排在第一个的是a,那么久向a讨。a的值是1,于是第一个%d讨到的便是1.

第二个是+,那么照样输出,

第三个又是%d,同样到双引号的后面去讨债,因为排在第一个的a已经被讨过债了,一次向排在第二个的b讨。b的值是2,于是这个%d讨到的便是2.

第三个是=,依然照样输出。

第四个还是%d,同样到双引号的后面去讨债,因为排在第一和第二的a和b已经被讨过债了,因此想排在第三的c讨。c的值是c,于是最后这个%d讨到的便是3.

最后输出的内容是1+2=3

请注意通常 双引号内部%d的个数,和后面变了的个数是相等的,他们是“一一对应”的。如果没有“一一对应”,从C语言的语法角度来讲是没有错误的,但是这不符合常理,请最好避免这样的情况出现。

第一节:C语言编程之《让计算机开口说话》

第二节:C语言编程之《让输出带有颜色》

第三节:C语言编程之《用计算机做加法》

第四节:C语言编程之《变量—用来存储数据的小房子》

猜你喜欢

转载自blog.csdn.net/i2033448087/article/details/81659887