2015-10-13 3 views
1

Я думаю, что, возможно, я слишком глубоко вникаю в это, но мне любопытно, существует ли какая-либо разница между использованием fprintf с переменной или нет? Кроме использования памяти x в этом случае.fprintf переменная или строка

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

против

int x = 1; 

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

Использование памяти одинаково. Компилятор заранее переводит код, чтобы быть лучше. Вам никогда не придется вручную оптимизировать. – brunch875

+0

@ brunch875 не обязательно ... Оптимизация не требуется. –

+0

Выражения всегда оцениваются, и оба '1' и' x' оцениваются одинаково. – teppic

ответ

3

Там нет никакой разницы. Оба x и 1 имеют тип int, поэтому нет никакой разницы между ними до printf.

+1

Да, в обоих случаях значение 'int' предоставляется как аргумент, а' printf() 'не будет знать, было ли оно переменной или немедленным значением. –

Смежные вопросы