나는 다음과 같은 코드 인수로 매크로를 사용하여 시간의 문자열 'X'번호를 인쇄하는 것을 시도하고있다 : -좌변
1 #include<string.h>
2 #include<stdio.h>
3 #define print(x,c) while(x>0)\
4 {\
5 puts(c);\
6 printf("\n");\
7 --x;\
8 }
9
10 int main()
11 {
12 char c[20];
13 strcpy(c,"Hallelujah");
14 print(5,c);
15 }
그러나 컴파일하는 동안, I 다음과 같은 오류가 나타납니다. -
macro2.c: In function ‘main’:
macro2.c:7:2: error: lvalue required as decrement operand
--x;\
^
macro2.c:14:2: note: in expansion of macro ‘print’
print(5,c);
^
문제를 파악할 수 없으므로 친절하게 도와주세요.
당신이 할 수 없기 때문에'--5' C에! –
매크로를 혼동스럽게 생각하고 있습니다. '5'는'x'에 할당되지 않습니다. – Haris