请解释一下下面这段代码..查询关于字符操作
printf("%c\n",0+'0'); --> returns 0
printf("%c\n",1+'0'); --> returns 1
printf("%c\n",0+'1'); --> returns 1
printf("%c\n",1+'1'); --> returns 2
感谢名单。
请解释一下下面这段代码..查询关于字符操作
printf("%c\n",0+'0'); --> returns 0
printf("%c\n",1+'0'); --> returns 1
printf("%c\n",0+'1'); --> returns 1
printf("%c\n",1+'1'); --> returns 2
感谢名单。
看看ASCII table。 '0'有代码48.所以'0'+ 1产生49,这是'1'。所以每个字符实际上是一个整数。你给它添加另一个整数,然后,因为你在printf中指定了“%c”,所以你强制它把它看作一个字符。他检查他的ASCII表格,经过一番考虑后,他决定将输出打印到屏幕上。
'0'
给出ASCII
char 0
的值,即48
。要添加0
以获得48
。然后,您打印48
追溯到这给0
同样下一个加1
到48
给49
,当打印为焦炭提供了1
感谢%c
个个打印字符等效参数的字符。
printf("%c\n",0+'0');
添加零到作为48的字符零的ASCII值:48 + 0 = 48
尝试printf("%d\n", '0');
获得的ASCII值。
printf("%c\n",1+'0'); // 1 + 48 = 49 which is the character `1`
printf("%c\n",0+'1'); // 0 + 49 which is again `1`
printf("%c\n",1+'1'); //left as an exercise
怎么样谷歌,维基百科,......之前你问这里? – 2010-05-10 07:21:07
@Holger:请指定一个仅使用上述代码元素返回有用答案的Google查询。 – 2010-05-10 07:22:18
@Aaron:http://www.cplusplus.com/reference/clibrary/cstdio/printf/是第一个使用关键字printf的谷歌搜索引擎 – 2010-05-10 07:50:36