这个程序是用来输出一个框框的,但是,我照例子写了,可以编译后却是中文...纠结中
#include<stdio.h>
#define LEFT_TOP 0xDA
#define RIGHT_TOP 0xBF
#define HORIZ 0xC4
#define VERT 0xB3
#define LEFT_BOT 0xC0
#define RIGHT_BOT 0xD9
int main ()
{
char i,j;
putchar(LEFT_TOP);
for (i=0; i<10; i++)
{
putchar(HORIZ);
putchar(RIGHT_TOP);
putchar('\n');
}
for (i=0; i<4; i++)
{
putchar(VERT);
for (j=0; j<0; j++)
{
putchar(' ');
putchar(VERT);
putchar('\n');
}
}
putchar(LEFT_BOT);
for (i=0; i<10; i++)
{
putchar(HORIZ);
putchar(RIGHT_BOT);
putchar('\n');
}
return 0;
}
我尝试了几种别的编码,结果都没太大差别,这。。。。。。求高手!!!
[解决办法]
不知这几个是什么字符? 为什么不直接用字符表示呢,用十六进制更难懂
另外请你自行查一下ascii表,这几个对应的是什么。
#define LEFT_TOP 0xDA
#define RIGHT_TOP 0xBF
#define HORIZ 0xC4
#define VERT 0xB3
#define LEFT_BOT 0xC0
#define RIGHT_BOT 0xD9
[解决办法]
#include<stdio.h>
#include<stdlib.h>
#define LEFT_TOP 0xDA
#define RIGHT_TOP 0xBF
#define HORIZ 0xC4
#define VERT 0xB3
#define LEFT_BOT 0xC0
#define RIGHT_BOT 0xD9
int main ()
{
char i,j;
system("chcp 437 >NUL");
putchar(LEFT_TOP);
for (i=0; i<10; i++)
{
putchar(HORIZ);
putchar(RIGHT_TOP);
putchar('\n');
}
for (i=0; i<4; i++)
{
putchar(VERT);
for (j=0; j<0; j++)
{
putchar(' ');
putchar(VERT);
putchar('\n');
}
}
putchar(LEFT_BOT);
for (i=0; i<10; i++)
{
putchar(HORIZ);
putchar(RIGHT_BOT);
putchar('\n');
}
return 0;
}