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]='