‘壹’ c语言储存、输出汉字的问题
列个程序给你看看
#include"stdio.h"
void main()
{
char b[3]="你";//一个汉字占2个字节,这里第三个(b[2])是为了存放结束符('\0')的
char c[11]="早上好某某";//这里5个汉字,共10个字节,还有一个放了结束符
printf("%c%c\n",b[0],b[1]);//输出汉字把两个字符一起输出
int i;
for(i=0;i<=10;i++)//这样也是
printf("%c",c[i]);
}
‘贰’ char型变量中能不能存贮一个中文汉字为什么
可以,不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。
‘叁’ C语言中的变量能存储汉字吗
用char sz[100]就可以。
在输出的时候注意一些本地化的动作就不会出现乱码了,
用setlocale( LC_ALL, "chs" );设置为简体中文
setlocale( LC_ALL,"" ); 还原。
这样就没问题了。
否则就尝试使用wchar_t这个宽字符串,应该是C99才引入的吧。
‘肆’ C语言如何存储汉字字符,比如我想存储一个汉字字符串,应该怎么办。
不知道你是想用纯C的来实现,还是可以借用windows的库。
如果借用windows的库就比较简单了,直接用wchar处理unicode编码就可以支持中文。
用纯c自己进行处理,就采用DBCS编码方式,支持双字节汉字处理。
‘伍’ c语言中文字如何存储
在c语言中,如果输出中文字符,可以通过printf函数直接输出。printf函数在内部提供这种机制,实现宽字符的转换,因此都可以正常输出,比如:
printf("中文测试\n");
另外也可以使用wprintf来输出存储在变量的中文字符,需要进行语言的区域设置。示例如下:示例如下,输出宽字符“中”字。
#include
#include
int main()
{
setlocale(lc_all, "chs");
wchar_t wc = l'中';
wprintf(l"%c\n",wc);
return 0;
}
‘陆’ 在C语言中CHAR是什么类型变量
char是字符变量的说明符
字符变量的取值是字符常量,即单个字符。字符变量的类型说明符是char。字符变量类型说明的格式和书写规则都与整型变量相同。
例如:
char
a,b;
每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以ascii码的形式存放在变量的内存单元之中的。如x的
十进制ascii码是120,y的十进制ascii码是121。对字符变量a,b赋予'x'和'y'值:
a='x';b='y';实际上是在a,b两个单元内存放120和121的二进制代码:
a
0
1
1
1
1
0
0
0
b
0
1
1
1
1
0
0
1
所以也可以把它们看成是整型量。
c语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,
允许把字符变量按整型量输出,也允许把整型量按字符量输出。
整型量为二字节量,字符量为单字节量,当整型量按字符型量处理时,
只有低八位字节参与处理。
main()
{
char
a,b;
a=120;
b=121;
printf("%c,%c\n%d,%d\n",a,b,a,b);
}
a
■
b
■
a
<--
120
b
<---
121
显示程序结果
本程序中说明a,b为字符型,但在赋值语句中赋以整型值。从结果看,a,b值的输出形式取决于printf函数格式串中的格式符,当格式符为"c"时,对应输出的变量值为字符,当格式符为"d"时,对应输出的变量值为整数。
void
main()
{
char
a,b;
a='x';
b='y';
a=a-32;
b=b-32;
printf("%c,%c\n%d,%d\n",a,b,a,b);
}