printf参数的自增运算问题
今天做笔试题遇到这么一个题:
输出啥?
我掰指头算了算数填了个f 1 e e,后来被问到这个题怎么做的,自己怎么也不知道原先怎么数出来是f 1 e e的,后来上机调了下发现还真是f 1 e e。
看完指令不知所以然~~~求高手讲解真相!!!
#define fn(n) printf("%c, %d, %c, %c", ++(n), sizeof(++(n)), ++(n), (n)+1);
int main(int argc, char* argv[])
{
char n = 'a';
fn(++n);
return 0;
}
输出啥?
我掰指头算了算数填了个f 1 e e,后来被问到这个题怎么做的,自己怎么也不知道原先怎么数出来是f 1 e e的,后来上机调了下发现还真是f 1 e e。
看完指令不知所以然~~~求高手讲解真相!!!
...全文
相关推荐
试析二级C语言之自增、自减运算符.pdf
自增和自减运算符使用时的优先级问题。自增和自减运算符的优先级高于算术运算符,但低于成员访问运算符和括号。5.
C语言程序自增自减问题的几点思考.pdf
本文将从多个角度分析C语言中的自增、自减问题,包括运算顺序、输出方式差异以及编译器对这些问题的影响,并通过大量实验来论证问题源头。首先,C语言中的自增、自减运算符分为前置和后置两种。
C语言教学疑难浅析.pdf
通过反推运算,可以得到这个数对应的十进制数,即-25536。2. 自增、自减运算问题C语言的一个特色就是自增、自减运算,但有时自增、自减运算会得到一些令人费解的结果。
c代码-复合运算++,--
避免在条件表达式中使用自增和自减运算符,因为这可能导致解析问题和难以预测的行为。总结来说,`++` 和 `--` 是C语言中的关键运算符,它们提供了快速改变变量值的便捷方式。
C基础知识详解
(“%x”, a); // 输出十六进制数,字母小写printf (“%X”, a); // 输出十六进制数,字母大写````printf`的基本格式是`printf(“格式控制符”,输出参数列表)`,


