2015-10-13 77 views
1

我想我可能会深入研究这个问题,但我很好奇,如果使用fprintf和变量之间真的有区别吗?除了这种情况下x的内存使用情况。fprintf变量或字符串

fprintf(stderr,"%d", 1); 

VS

int x = 1; 

fprintf(stderr,"%d", x); 
+0

内存使用情况相同。编译器事先将代码翻译为更好。您不必手动优化。 – brunch875

+0

@ brunch875不一定......优化不需要实施。 –

+0

表达式总是被评估,并且'1'和'x'被评估为相同。 – teppic

回答

3

有没有区别。 x1的类型都是int,所以两者之间没有什么区别,就printf而言。

+1

是的,在这两种情况下,都会提供一个int值作为参数,而printf()不会知道它是来自变量还是来自立即值。 –