我的程序代码需要有颜色。但如果我使用-pedantic它就不会编译。有没有解决的办法?它的顺便说一句
gcc -pedantic MP1.c -o hahah MP1.c: In function `main': MP1.c:65: warning: ISO C90 forbids mixed declarations and code MP1.c:686:30: warning: (this will be reported only once per input file)
第65行:
int originalAttrs = ConsoleInfo.wAttributes;
答案 0 :(得分:4)
将originalAttrs
的声明移动到使用它的作用域的顶部。该错误与使用ConsoleInfo.wAttributes
无关,但与originalAttrs
声明的位置无关。没有看到整个代码,它可能是这样的:
printf("hello\n"); /* For example. */
int originalAttrs = ConsoleInfo.wAttributes;
修复:
int originalAttrs;
printf("hello\n"); /* For example. */
originalAttrs = ConsoleInfo.wAttributes;
答案 1 :(得分:0)
修复代码以使其符合C90标准(如hmjd's answer建议的那样),或告诉gcc使用更新版本的标准。
C允许混合声明和以C99标准开头的语句。
如果您使用
gcc -std=c99 -pedantic
或
gcc -std=c11 -pedantic
它应该有用。