Я пытаюсь напечатать строку '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 }
Но при компиляции я получаю следующую ошибку: -
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! - person Brian Sidebotham   schedule 18.08.20165
здесь не назначаетсяx
. - person Haris   schedule 18.08.2016