调用SetConsoleTextAttribute后为何报错
#include<stdio.h>#include <windows.h>
int main (int argc, char *argv[])
{
HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(h,FOREGROUND_RED|FOREGROUND_GREEN);
char s[]="test";
printf("character %s.\n",s);
}
提示一下错误
1>d:\learn_c\study_c\study_c\study.c(8): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>d:\learn_c\study_c\study_c\study.c(9): error C2065: “s”: 未声明的标识符
如果把 char s[]="test\n";去掉
printf("character %s.\n",s);改成printf("character test.\n");就没问题了
同样如果直接把HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(h,FOREGROUND_RED|FOREGROUND_GREEN);
这两句注释掉也没问题,只是字体颜色不会改变。
为何会出现这样的问题