
c语言怎样才能输出中文???(最简单的方法)
rt,在一个程序中我puts()输出中文名字,带但有些有会多出几个不是我输入的字,怎么才能让它输出正确??可能没说清楚,我puts()的括号里是一个指针变量(*P),这个...
rt,在一个程序中我puts()输出中文名字,带但有些有会多出几个不是我输入的字,怎么才能让它输出正确??
可能没说清楚,我puts()的括号里是一个指针变量(*P),这个变量是用gets(&p)得到的汉字,但用puts(&p)输出有的就会多几个字出来,有的又是正常的.....我想知道怎样才能输出正常。
我是用的vc2003,2005我也有。
->6楼:你的方法我也试了的,还是一样,我发现要是输入一个汉字的话就不会出问题,我把程序(得到名字的函数)放在下面,你们看看是怎么回事啊。
typedef struct
{
int no;
int ti;
int ip[N];
int c;
char name[21];
}bus;
void getdata(bus a[M])
{
a[0].ti=0;
bus *p;
int m;
p=a;
int n=50101;
for(int i=0;i<M;i++)
{
n=n+i;
a[i].no=n;
a[i].c=rand()%3+3;
m=a[i].c;
for(int j=0;j<m;j++)
{
a[i].ip[j]=rand()%81+50;
a[i].ti=a[i].ti+a[i].ip[j];
}
printf("请输入5010%d车名:",i+1);//这里
gets(&(p+i)->name[21]);
sum=sum+a[i].ti;
}
}
输出用的是:puts(&(p+i)->name[21]); 展开
可能没说清楚,我puts()的括号里是一个指针变量(*P),这个变量是用gets(&p)得到的汉字,但用puts(&p)输出有的就会多几个字出来,有的又是正常的.....我想知道怎样才能输出正常。
我是用的vc2003,2005我也有。
->6楼:你的方法我也试了的,还是一样,我发现要是输入一个汉字的话就不会出问题,我把程序(得到名字的函数)放在下面,你们看看是怎么回事啊。
typedef struct
{
int no;
int ti;
int ip[N];
int c;
char name[21];
}bus;
void getdata(bus a[M])
{
a[0].ti=0;
bus *p;
int m;
p=a;
int n=50101;
for(int i=0;i<M;i++)
{
n=n+i;
a[i].no=n;
a[i].c=rand()%3+3;
m=a[i].c;
for(int j=0;j<m;j++)
{
a[i].ip[j]=rand()%81+50;
a[i].ti=a[i].ti+a[i].ip[j];
}
printf("请输入5010%d车名:",i+1);//这里
gets(&(p+i)->name[21]);
sum=sum+a[i].ti;
}
}
输出用的是:puts(&(p+i)->name[21]); 展开
15个回答
展开全部
其实很简单,你是用WIN-TC就可以了,在里面加一句代码:
system("graftabl 936");
记住要紧随定义变量之后,不信试试
system("graftabl 936");
记住要紧随定义变量之后,不信试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能和编译器的版本有关啊,我的vc6++就行,还可以保存中文名字的c文件。用支持汉字的编译器试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最简单的:
#include<stdio.h>
void main(){
puts("我的名字是:***\n");
}
怎么会不行呢?是不是语法错误?通过编译了吗?
#include<stdio.h>
void main(){
puts("我的名字是:***\n");
}
怎么会不行呢?是不是语法错误?通过编译了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用printf()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用的是什么版本?
要用高一些的版本才行!
要用高一些的版本才行!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询