> 其他 >
C语言中的%%d是什么意思
人气:166 ℃ 时间:2020-04-03 20:50:56
解答
printf("%%d"); // 会输出%d
因为%用来作格式符,如%c,%与c搭配表示输出一个字符,%d表示输出一个整数.
那么怎么输出%呢?即用%%表示输出一个%%%%d呢一般是这么用吧:printf("%%%d", 123);会输出:%123printf会一个个来处理格式串“%%%d"中的格式符,它从第一个%开始看,发现%%是连续的两个,输出一个%,剩下的是%d, 表示输出一个十进制表示的整数那你看一下这个程序:#includevoid main(){int i=8,j=9;printf("%%d,j=%%%d\n",i,j);}输出结果是怎样的,谢谢!那你看一下这个程序:#includevoid main(){int i=8,j=9;printf("%%d,j=%%%d\n",i,j);}输出结果是怎样的,谢谢!%d,j=%8不是%9为什么答案是没有错啊。你看printf是怎么输出的吧:"i=%%d,j=%%%d\n"前两个格式符是%%,都是输出%,不需要对应的格式串后面的参数,最后一个格式符是%d,对应一个参数,是i为什么是i不是j是这样的,printf是通过格式串来知道应该怎么格式化输出格式串后面的参数的,如:printf("%c, %d", 'a', 123); printf在执行时,看格式串中有两个格式符,一个是%c, 一个是%d, 它就知道了格式串后面有一个参数是字符,另一个参数是整数了。就按格式串指示的来格式化输出。那么printf("%%d,j=%%%d\n",i,j);也是类似这样执行的。它看到有三个格式符:%% %% %d前两个格式符是表示输出%的,%d是表示后面有一个参数是整数,请注意:格式串后面的整数是哪一个?就是调用时格式串"%%d,j=%%%d\n"后面的i啊。所以格式化输出i, j被忽视了。因为格式串中没有对应j的格式符。
推荐
猜你喜欢
© 2024 79432.Com All Rights Reserved.
电脑版|手机版