2016-12-25 3 views
-5
#include <stdio.h> 

#define STR /*~~Complete this line~~*/ 
/* such that the output of the code is 

M = 10 
N = 5 

*/ 

#define N 5 
#define M 10 

int main() { 
printf(STR(M)); 
printf("\n"); 
printf(STR(N)); 
return 0; 
} 

Нам нужно напечатать M = 10 и N = 5 на консоли. Я не знаю, как это сделать. Пожалуйста, помогите мне. Вопрос хорошо объясняется в самом коде.Как печатать переменные с #define как #define STR (M) = значение M

+4

'#define STR (X) #X" =% d ", X' – md5

+0

@ md5 - Почему в качестве комментария? – StoryTeller

ответ

2

#define STR(x) printf(#x "=%d",x)

я неверно истолковали question..when вы используете его в printf..use #define STR(x) "%s = %d ",#x,x или #define STR(x) #x "=%d",x

+0

Что делать, если у нас есть вместо printf? –

+0

А попробуйте один раз ... вы можете проверить его в компиляторе ... – coderredoc

+0

Не работает одинаково. –

2

Здесь вы идете:

#define STR(x) "%s=%d",#x,x 

Пожалуйста, почитайте о макросах

+0

Что делать, если мы использовали puts вместо printf? –

+1

@AshwaniJha - Вам не повезло – StoryTeller

+2

Почему вы используете макросы sin на первом месте? Во всяком случае, зачем начинать менять цель вопроса? –

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