我爱Banana 发表于 2016-6-14 21:14:46

简单C语言程序找错

#include <conio.h>

void main(void)
{
   int color;
   for(color=0 ; color<8 ;color++)
   {
      textbackground(color);
      cprintf("This is color %d\r\n",color);
      cprintf("Press any key to continue\r\n");
      getch();
   }
}


错在哪里ne ?

李星 发表于 2016-6-14 22:21:56

{:5_98:}{:5_98:}      TC才有textbackground

我爱Banana 发表于 2016-6-15 12:23:06

李星 发表于 2016-6-14 22:21
TC才有textbackground

这样,那么请问一下,如果用C-free的话,如何编写按任意键改变背景颜色呢?谢谢{:5_91:}

李星 发表于 2016-6-16 22:59:10

你可以试一下 #include<windows.h> 的SetConsoleTextAttribute()函数

我没用过cfree

无符号整形 发表于 2016-6-18 13:20:41

有两中方法
1.SetConsoleTextAttribute函数
2.stdlib.h的system函数 执行DOS命令color
优点:方便
缺点:一变全部都会变
使用方法:
system("color 颜色");
颜色属性由两个十六进制数字指定 第一个为背景,第二个则为
前景。每个数字可以为以下任何值之一:
    0 = 黑色       8 = 灰色
    1 = 蓝色       9 = 淡蓝色
    2 = 绿色       A = 淡绿色
    3 = 浅绿色   B = 淡浅绿色
    4 = 红色       C = 淡红色
    5 = 紫色       D = 淡紫色
    6 = 黄色       E = 淡黄色
    7 = 白色       F = 亮白色
明白了吗?
比如system("color fc");就是在亮白色上产生亮红色.
改正后的代码:

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
   int color;
char ch;
   for(color=0 ; color<8 ;color++)
   {
      sprintf(ch,"color %d0",color);
system(ch);
      cprintf("This is color %d\r\n",color);
      cprintf("Press any key to continue\r\n");
      getch();
   }
}

这样就可以实现不断换背景

屁哥 发表于 2016-6-18 22:18:04

你们都是怎么学的 看的我晕晕的第二节课课后作业 敲一次 出一次新问题 三次 都不一样 都不敢敲了 {:10_250:}

lcyc 发表于 2016-8-4 09:34:52

这是C++

Damn_it 发表于 2016-11-21 21:34:53

textbackground是TC的{:10_243:}
页: [1]
查看完整版本: 简单C语言程序找错