如:
char name[30]; //字符数组要足够宽,一般一个汉字由两个字节组成。
scanf("%s", name ); //此时,切换输入法到中文,输入汉字即可
printf("name=%s\n", name );用自符串: 先定义一个字符串,如:char hanzi[20]; 然后: scanf("%s",hanzi); 或者gets(hanzi); 不过定义的时候控制了字节为20,不能输太多,(一个汉字两 个字节)一个汉字实际上是用一个字符数组中的连续两个元素储存的
例如:
char s[2];
scanf("%s",s); ///1、此处不加& 2、此处可用gets(s);
for(int i=0;i<2;++i)
printf("%c",s[i]);
这样可以完整输入输出一个汉字。在C语言中,中文字符是靠区位码来定义的,因此,你可以直接在中文状态下输入汉字就可以了,不过,因为一个汉字的区位码至少是两个字节,所以赋值给变量的话,需要是字符串变量,而且是指针或数组类型,例如:
unsigned
char
zw="中文输入“;
unsigned
char
zw[]={'中','文','输','入'};
注意:在数组中用单引号,指针中用双引号。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)