c语言编写的程序的颜色设置

我现在修改一个用c语言编写的推箱子游戏的程序,在运行时出现与putoutchar中声明类型不匹配的错误,不知道应该怎么修改,具体代码如下,其中,x、y指明输出的位置,ch表示输出的字符,fc表示输出的字符颜色,bc 表示背景色。
void putoutChar(int y,int x,char ch,char fc,char bc)
{
printScreen[(x*160)+(y<<1)+0]=ch;/*屏幕输出字符*/
printScreen[(x*160)+(y<<1)+1]=(bc*16)+fc; /*指定字符颜色fc,背景色bc*/
}

楼主比较幽默。putoutChar(y-1,x-1,219,GREEN,BLACK);这里传过去是一个字符串,而接收函数只接受char类型:void putoutChar(int y,int x,char ch,char fc,char bc)
{
printScreen[(x*160)+(y<<1)+0]=ch;/*屏幕输出字符*/
printScreen[(x*160)+(y<<1)+1]=(bc*16)+fc; /*指定字符颜色fc,背景色bc*/
}
调用的时候建议把:putoutChar(y-1,x-1,219,GREEN,BLACK);中的GREEN,BLACK用类似宏定义#define BLACK 0
或者传过去的时候用int接收void putoutChar(int y,int x,int ch,int fc,int bc)
{
printScreen[(x*160)+(y<<1)+0]=ch;/*屏幕输出字符*/
printScreen[(x*160)+(y<<1)+1]=(bc*16)+fc; /*指定字符颜色fc,背景色bc*/
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-30
与putoutchar中声明类型不匹配 应该是你调用putoutchar函数时出现了错误。 建议你贴出调用的相关代码。另外bc和fc的取值都只能是0-15的数字,其它数可能会有问题。