网址:http://www.ppurl.com/login/
遇到的一题:
#include<stdio.h> int main() { int i=43; printf("%d\n",printf("%d",printf("%d",i))); return 0; }
结果:4321
分析:
printf Return ValueOn success, the total number of characters written is returned.On failure, a negative number is returned.
printf就是返回输出的字符个数,任何反义字符也占一个,输出的数字什么的都看成字符串就好,比如int i=printf(“%d”,4321);i的值就等于4.
针对此题的结果来分析:printf执行顺序从最里面开始printf("%d\n",printf("%d",printf("%d",i)));
红色第一个执行,黄色第二个执行,蓝色第三个执行。
第一个执行结果为43,表示输出的 i 值。
第二个执行结果为2,表示第一个printf输出的字符数为2,即4和3个占一个字符
第三个执行结果为1,表示第二个printf输出的字符数为1个,即2占一个字符
(转载时请注明作者和出处。未经许可,请勿用于商业用途)
更多文章请访问我的Blog: http://www.cnblogs.com/alexqdh