中易网

计算机二级C 题目 若有以下定义(设int 类型变量找有2个字节)

答案:2  悬赏:0  
解决时间 2021-01-18 07:14
  • 提问者网友:wodetian
  • 2021-01-17 07:57
计算机二级C 题目 若有以下定义(设int 类型变量找有2个字节)
最佳答案
  • 二级知识专家网友:春色三分
  • 2021-01-17 08:14
在C语言中%号的表示要用%%的转义如果%%d只是表示百分号而已呀!要转义%d才能表示i j的值现在%%d中没有可以识别的%d所以就只是照原样输出了,第二个的化有%d就输出了只是配对了i的值,因为其中后面的i j对应与前面的%d 所以输出是%8追问在C语言中%号的表示要用%%的转义,,,,这是什么意思啊?追答就是如果需要输出打印%,就需要写成%%才打印得出来追问%%d中没有可以识别的%d所以就只是照原样输出了 什么是可识别的的?
全部回答
  • 1楼网友:鸠书
  • 2021-01-17 08:31

我不知道这条语句有什么意义  1 #include 
  2 
  3 int main(void)
  4 {
  5     int i = 8, j = 9;
  6     printf("i=%d%d, j=%%%d ", i, j);
  7     return 0;
  8 }
gcc编译会报警告,结果也和答案不一样zh@zh-CW65S:~/work$ vim test.c 
zh@zh-CW65S:~/work$ gcc test.c -Wall
test.c: In function ‘main’:
test.c:6:2: warning: format ‘%d’ expects a matching ‘int’ argument [-Wformat=]
  printf("i=%d%d, j=%%%d ", i, j);
  ^
zh@zh-CW65S:~/work$ ./a.out 
i=89, j=%0
就像上面的结果:i=89,j=%0
追问这是一道选择题。。。到底%d%d%d有什么作用呢??为什么结果是这个呢追答与其纠结这些语法细节,不如好好想想怎么真正提高自己的水平
像这些脑残的语句只会出现在那些脑残的考题之中
在一个简单的标准的printf("%d%d", i, j);语句上玩那些乱七八糟的花样有实际意义吗?
如果在公司里写出考题这样的语句,那估计是分分钟被开掉的下场.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息