1
我想我可能会深入研究这个问题,但我很好奇,如果使用fprintf和变量之间真的有区别吗?除了这种情况下x的内存使用情况。fprintf变量或字符串
fprintf(stderr,"%d", 1);
VS
int x = 1;
fprintf(stderr,"%d", x);
我想我可能会深入研究这个问题,但我很好奇,如果使用fprintf和变量之间真的有区别吗?除了这种情况下x的内存使用情况。fprintf变量或字符串
fprintf(stderr,"%d", 1);
VS
int x = 1;
fprintf(stderr,"%d", x);
有没有区别。 x
和1
的类型都是int
,所以两者之间没有什么区别,就printf
而言。
是的,在这两种情况下,都会提供一个int值作为参数,而printf()不会知道它是来自变量还是来自立即值。 –
内存使用情况相同。编译器事先将代码翻译为更好。您不必手动优化。 – brunch875
@ brunch875不一定......优化不需要实施。 –
表达式总是被评估,并且'1'和'x'被评估为相同。 – teppic