C语言源代码分析(越易懂越好,我只是一个初学者)

#include <stdio.h>

void main()
{
int a,b;
int y;

a=1;
b=1;
y=a+b;
printf("a+b=%d",y);

getchar();
}

其它的代码我还大概能理解,但就是第11行——printf("a+b=%d",y);
问1:为什么a+b=后面的得数是%d?我对这个完全没有概念。
问2:为什么它后面还有一个“,y”,而且还在引号的外面?
就这两个问题,希望专业人士能用最最简单通俗的话来解释,如果我满意的话,自然有重赏。

第1个回答  2015-01-23
printf“”里的是原样输出的东西,但是你的y是未知的,是你程序运行到这一步才可以得到的,你没有办法写到“”里,所以你用%d代替,%d不会原样输出,它代表整数,而你的y的数值就是%d的数值,就是当printf里有%d的时候程序知道它的数值是“”,后跟的那个数,也就是这个程序里的y,比如printf(“%d%d%d”,a,b,c);第一个%d输出的是a的值,第二个%d输出的是b的值,第三个就是c的值了,如果是%c就是字符的意思,%f就是浮点型的数
第2个回答  2015-01-23
1、%d是整数的表示方法,这是printf函数是规定的
2、后面那个就是%d的值,y是个变量名,它保存了一个值,在你这里就是a+b的值。
第3个回答  推荐于2016-08-01
printf是一个c的标准库函数,这个函数的作用是向屏幕输出打印(显示)信息。调用它时的参数约定是,第一个参数是双引号括起来的部分,称为格式描述符,它的一部分内容可以直接显示,另一部分用格式符约定了对后续的参数如何处理。对于本例而言,它在屏幕上显示:
a+b=2
%d是整数格式符,d是告诉printf,将后面的y这个参数作为整数显示。这个格式符在实际显示时会被y的实际值替换本回答被提问者和网友采纳
第4个回答  2015-01-23
c语言在线讲解追问

是叫“秒杀中尉”吗

追答

相似回答