【C语言中的%%d是什么意思】-查字典问答网
分类选择

来自胡立华的问题

  【C语言中的%%d是什么意思】

  C语言中的%%d是什么意思

10回答
2019-12-26 08:15
我要回答
请先登录
李振

  printf("%%d");//会输出%d

  因为%用来作格式符,如%c,%与c搭配表示输出一个字符,%d表示输出一个整数.

  那么怎么输出%呢?即用%%表示输出一个%

2019-12-26 08:16:35
胡立华

  %%%d呢

2019-12-26 08:19:31
李振

  一般是这么用吧:printf("%%%d",123);会输出:%123printf会一个个来处理格式串“%%%d"中的格式符,它从第一个%开始看,发现%%是连续的两个,输出一个%,剩下的是%d,表示输出一个十进制表示的整数

2019-12-26 08:20:40
胡立华

  那你看一下这个程序:#includevoidmain(){inti=8,j=9;printf("%%d,j=%%%dn",i,j);}输出结果是怎样的,谢谢!

2019-12-26 08:22:30
胡立华

  那你看一下这个程序:#includevoidmain(){inti=8,j=9;printf("%%d,j=%%%dn",i,j);}输出结果是怎样的,谢谢!

2019-12-26 08:23:39
李振

  %d,j=%8不是%9

2019-12-26 08:25:38
胡立华

  为什么

2019-12-26 08:28:45
李振

  答案是没有错啊。你看printf是怎么输出的吧:"i=%%d,j=%%%dn"前两个格式符是%%,都是输出%,不需要对应的格式串后面的参数,最后一个格式符是%d,对应一个参数,是i

2019-12-26 08:32:22
胡立华

  为什么是i不是j

2019-12-26 08:34:54
李振

  是这样的,printf是通过格式串来知道应该怎么格式化输出格式串后面的参数的,如:printf("%c,%d",'a',123);printf在执行时,看格式串中有两个格式符,一个是%c,一个是%d,它就知道了格式串后面有一个参数是字符,另一个参数是整数了。就按格式串指示的来格式化输出。那么printf("%%d,j=%%%dn",i,j);也是类似这样执行的。它看到有三个格式符:%%%%%d前两个格式符是表示输出%的,%d是表示后面有一个参数是整数,请注意:格式串后面的整数是哪一个?就是调用时格式串"%%d,j=%%%dn"后面的i啊。所以格式化输出i,j被忽视了。因为格式串中没有对应j的格式符。

2019-12-26 08:39:06

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •