c语言数组存放汉字
❶ c语言中,怎么用数组存中文详见描述
这么定义是由于c语言中没有字符串数据类型
所以使用字符串时需要使用char的一维数组来表示字符串。
所以字符串数组就是char的二维数组。
按照你给的代码,正规的C编译器会编译错误的。字符串是用"来界定的。
处理中文可以用char或wchar_t
#include<stdio.h>
intmain(void)
{
charName[3][5]={"张三","李四","王五"};
printf("%s",Name[2]);
return0;
}
或者
#include<stdio.h>
#include<locale.h>
#include<wchar.h>
intmain(void)
{
setlocale(LC_ALL,"");
wchar_tName[3][3]={L"张三",L"李四",L"王五"};
wprintf(L"%s",Name[2]);
return0;
}
❷ C语言问题,如何将中文放进字符数组
char *s[4]={"李四","张三","黄生","二小"},*p;[4]
把p[i]指向s[i],即:
for(i=0;i<4;i++)
p[i]=s[i];
也可以直接char *p[4]={"李四","张三","黄生","二小"};这里数字4只是表示指针数组中指针的个数,而不是字符长度。
(2)c语言数组存放汉字扩展阅读:
C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。
相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。
而与或非的运算优先级都不一样,因此a && b || b && c解释为(a && b) || (b && c)
合理使用优先级可以极大简化表达式。
❸ C语言:怎么用数组存储中文名字!
在C语言中存储中文名字,需要使用wchar_t类型来定义数组。用wprintf函数输出,通过setlocal设置本地环境。示例如下:
#include<stdio.h>
#include<locale.h>
intmain()
{
setlocale(LC_ALL,"chs");
wchar_twc[]=L"李磊和韩美美";
wprintf(L"%s ",wc);
return0;
}
❹ c语言中怎样将存放在字符数组中的汉字一个一个输出出来啊而不是用%s全部输出。
例题:
本题要求编写一个解密藏头诗的程序。
输入格式:
输入为一首中文藏头诗,一共四句,每句一行。注意:一个汉字占两个字节。
输出格式:
取出每句的第一个汉字并连接在一起形成一个字符串并输出。
输入:
一叶轻舟向东流
帆稍轻握杨柳手
风纤碧波微起舞
顺水任从雅客流
输出:
一帆风顺
#include<stdio.h>
struct spf
{
char b[100];
};
int main()
{
struct spf a[4];
int i;
i=0;
for(i=0;i<4;i++)
{
scanf("%s",a[i].b);
}
for(i=0;i<4;i++)
{
printf("%c%c",a[i].b[0],a[i].b[1]);
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
其中的精髓在于:printf("%c%c",a[i].b[0],a[i].b[1]);;
也就是说,要想一句话放进数组中,输入指定汉字,其实就是注意汉字占据两个字节,在字符数组中也是占据连续的两个字节,输出时选择储存汉字的地址就好。
❺ c语言储存、输出汉字的问题
假如我想存1个汉字,char a[n]中的n应该给多少
汉字每一个是占用2个char的。串末尾要加零。所以要3个,2个汉字要5个char。
5个汉字要11个char
char a[11];
char * p = "汉字串数组";
strcpy(a,p);
printf( "%s\n"a);
❻ 在C语言中,怎么把汉字存入数组里面请各位哥哥姐姐帮帮忙,谢谢~
直接输进出就可以了
char
a[10]="
网络知道
";
汉字就占两个字节
也是一样的呀,
#include
void
main()
{
char
a[10];
scanf("%s",a);//输入的时候先按shitf+ctrl
切换输入法
就可以了
}
❼ 怎样通过用户输入来在C语言数组中储存汉字(名字),还有其中的原理,望指教啊 ~~~~
如果你的运行环境支持输入中文的话,直接用输入字符串的代码就可以了。
比如
#include "stdio.h"
void main()
{
char a[81];
gets(a);
puts(a);
}
❽ c语言中怎么将汉字存入数组并输出,要具体C语言代码
你好!!
#include<stdio.h>
void main()
{
char array[20];
scanf("%s",array);
printf("%s\n",array);
}
测试:
王军伟
王军伟
Press any key to continue
❾ LINUX中c语言怎么把汉字存放到数组中
//代码已测,我用的是一位数组,没必要用二维数组
#include<stdio.h>
main()
{
charbuf[100]={0};
intlen;
FILE*f=NULL;
printf("readfromfile?y/n ");
if(getchar()=='y')
{
if((f=fopen("1.txt","rb"))==NULL)
{printf("openfilefailed.");return;}
len=fread(buf,1,sizeof(buf),f);
if(len){printf("%s ",buf);}
fclose(f);
}
else
{
printf("inputyourwords: ");
scanf("%s",buf);
if((f=fopen("1.txt","ab+"))==NULL)
{printf("openfilefailed.");return;}
//findwordlength
for(len=0;len<(sizeof(buf)-1);len++)
if(buf[len]==0&&buf[len+1]==0)
{break;}
len=fwrite(buf,1,len,f);
fclose(f);
}
}
❿ C语言中如何读取文件中的汉字并将其存入数组中
建立一个足够大的字符型数组;
以文本方式读打开原文件;
按字符方式读取文件,每读一个字符判断一下是否为汉字编码(<0),若是则存入字符数组,不是则跳过读取下一个字符,直到文件结束。
设原文件在当前目录下,名为123.txt,举例代码如下:
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"stdlib.h"
intmain(void){
chars[1000],ch;
FILE*fp;
inti=0;
if((fp=fopen("123.txt","r"))==NULL){
printf("Openthefilefailure... ");
exit(0);
}
while((ch=fgetc(fp))!=EOF)
if(ch<0)
s[i++]=ch;
fclose(fp);
s[i]='