c语言中%d %%d %%%d 的区别

参考链接:https://zhidao.baidu.com/question/29511246.html

C语言中,%是转义符,也就是和%一起出现的后面的内容会转义后输出,这三种输出的意义是不同的:

1、%d,表示按整型输出后面给出的变量的值。

2、%%d ,这就会被拆成两部分看待,一是“%%”在C语言中就是输出一个“%”,而是“d”就是一个普通字符,所以当“%%d”在一起时,其含义就是输出“%d”这两个字符。

3、%%%d ,3个%在一起,进行拆分的话,%%代表一个“%”字符,后面的%d又代表整型输出变量的值,所以当“%%%d”一起时,其最终含义就是输出一个字符%号再接着按整型输出变量的值。

为了加深理解,我们通过几个例子来了解:

例如:

int i=4;
printf("%d\n",i);//此条输出结果为:4

printf("%%d\n");//此条语句输出结果为:%d

printf("%%%d\n",i,i);//此条语句输出结果为:%4

上述代码执行后,输出结果为:

4
%d
%4
文章目录