c語言中如何定義字元串,是用二維數組實現的嗎

一維和二維的都可以;
一維的情況如下:
1,char string0[10];
2,char string1[]="prison break";
3,char string2[100]="michael scofield";
1句表回示定義個長度答為10的字元串,但未賦值,2句表示定義了一個字元數組string1,並進行初始化,使得其長度自動為13(字元串」prison break"中的字元個數加上結尾的'\0'),3句定義了一個有100個元素的字元數組string2,並初始化了17個元素("michael scofield";加上結尾的'\0');
二維的情況如下:
1,char string3[6][30];
2,char string3[6][30]={"joy","phosee","monses","chandele","ross","rather"};
此句表示有6個字元串,每個字元串的長度為30,每個字元串的初始值與「joy","phosee","monses","chandele","ross","rather"相對應;

⑵ C語言字元型二維數組用scanf和gets如何輸入,舉個例謝謝

#include <stdio.h>
int main()
{
char s[3][20];
int i;
printf("輸入第一行:");
gets(s[0]);
printf("輸入第二行:");
scanf("%s",s[1]);

for(i=0;i<2;i++)
{
printf("%s\n",s[i]);
}
return 0;
}

⑶ 跪求C語言中怎樣把很多字元串存入二維數組中,並用指針輸出,急用~謝謝

給你舉個例子,這里str就是一個二維數組,我手動輸入10個字元串存入該數組,然後用該二維數組的行指針輸出
#include<stdio.h>
#include<string.h>
void main()
{
char str[10][20];
int i;
for(i=0;i<10;i++)
gets(*(str+i));
for(i=0;i<10;i++)
puts(*(str+i));
}

⑷ c語言二維數組如何定義字元串急。。。

二維字元數組的定義格式為:char 數組名[第一維大小][第二維大小];

例如:char c[3][10]; //定義了一個3行10列的二維字元數組c

由於該二維數組的每一行 c[0]、c[1]、c[2] 均是含有 10 個元素的一維字元數組,即二維數組的每一行均可表示一個字元串。

通常情況下,二維數組的每一行分別使用一個字元串進行初始化。 例如:

例如:char c[3][8]={{"apple"},{"orange"},{"banana"}};

(4)c語言字元串二維數組擴展閱讀

分析

字元串 "Apple" 的長度為 5,加上結束符 "" 共 6 個字元,前 5 個字元分別從 c[0] 行的首元素 c[0][0] 開始存放,到 c[0][4],第 6 個字元 '' 只能保存到 c[1] 行的首元素 c[1][0]。

字元串 "Orange" 的長度為 6,該字元串的前 5 個字元分別從 c[1] 行的首元素 c[1][0] 開始存放,到 c[1][4],第 6 個字元及結束符 '' 順序存到 c[2][0] 和 c[2][1]。

字元串 "Pear" 的長度為 4,該字元串的 5 個字元(包含 '')分別從 c[2] 行的首元素 c[2][0] 開始存放,到 c[2][4]。

⑸ C語言 怎麼從二維數組中讀取想要的字元串

fp=fopen("2.txt","rt"); -- 是不是 rb ? .mp3 文件是2進制文件。
fgets(str[n],100,fp)==NULL) -- 文本文件有行的概念,可以用 fgets 讀一行,2進制文件沒有行的概念。應當用 fread 讀若干位元組。

「比如 我們的家 我們的國」-- 中文字 通常是 二進制 雙位元組 編碼。
從第九個位元組列印 -- 字元串要有結尾符 '\0'
列印 str[j][8] 就是 第j 個字元串 的第9個位元組開始 到 結尾符。
是亂碼 -- 同編碼的解碼有關,對應的字體庫有關,同你的顯示器設置有關,同顯示器是否支持中文有關。最好先用 英文 ASCII 做試驗,程序通過再研究中文。中文很復雜,看到亂碼未必是錯。

⑹ C語言二維字元串數組定義

試著你改成 char [][],char *ip[4]
這表示一個數組有四個元素,而每個元素是一個字元串
應該更能清楚地表達你要表達的效果

⑺ C語言字元二維數組怎麼賦值合法

這是因為"字元"中含有4個位元組,外加一個串結束符,需要長度為5的字元數組才可以存儲。內
改為char str[2][5]={"字元","字元"};這樣容就不會報錯了。
而char *str[2][3]={"字元","字元"};加個*號,只是存儲在常量區的字元指針,就不會報錯。
共有6個字元指針的存儲空間,只使用了其中的2個元素來存儲2個地址,當然就不會報錯了。

⑻ c語言 二維數組的字元類型

一維的我們用來表示一個單獨的字元串,如char ch1[10] = "Name";
二維的通常是表示多個字元串,即字元串數組如char ch2[2][10] = {"Name","Number"};
其中每個字元串的結尾都是\0(也就是0值) 換言之,第一個[]是幾,就可以裝幾個最大長度為第二個[]-1的字元串。
比如char a[2][3];定義這樣一個變數,就可以理解成定義一個字元串數組,其中有2個字元串,每個字元串的最大長度為3-1(因為\0要佔用一個)

⑼ c語言二維數組字元串

int main()
{
char a[20],temp;
char *p,*q;
int len;

clrscr();
scanf("%s",a);
printf("Before reverse: %s\n",a);

len=strlen(a);
p=a;
q=a+len-1;
while(p<q)
{
temp=*p;
*p=*q;
*q=temp;
++p;
--q;
}

printf("After reverse: %s",a);

}

⑽ C語言字元二維數組賦值

char stack_array[][]這個必須要至少指定一維,否則程序不知道如何定位你的數組元素,會報錯:
改成如下:char stack_array[][30] //根據你的程序來