c語言數組string
① c語言中string怎麼用啊
用於輸入輸出的字元串函數, 在使用前應包含頭文件"stdio.h" ; 使用其它字元串函數則應包含頭文件"string.h"。
② 跪求答案 C語言中 string 數組的問題
恩,出錯原因跟printf有關。
改成:
printf("%s\n",key[0].c_str()); 就可以了。
因為printf的形式是:printf(const char *, ...)。注意第二個參數是"..."。...不是省略號的意思,它是C/C++的一種關鍵字,表示接受任意數量和任意類型的參數。也就說,它不會做隱式類型轉換。
回到你的調用:printf("%s\n", key[0])。%s表示後面傳入的參數應該是一個const char *類型,但是你傳入的是string類型,所以出錯了。把key[0]改成key[0].c_str()就可以了。c_str()返回的是一個const char *類型。
③ 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語言定義字元串數組
C語言字元串數組中的每一個元素均為指針,即有諸形如「ptr_array[i]」的指針。由於數組元素均為指針,因此ptr_array[i]是指第i+1個元素的指針。
例:如二維指針數組的定義為:char *ptr_array[3]={{"asdx","qwer","fdsfaf"},{"44444","555","6666"},{"a78x","q3er","f2f"}};
(4)c語言數組string擴展閱讀
字元串數組數組元素表示方法:
數組元素的一般形式為:數組名[下標] 其中的下標只能為整型常量或整型表達式。如為小數時,C編譯將自動取整。
例如,a[5],a[i+j],a[i++]都是合法的數組元素。數組元素通常也稱為下標變數。必須先定義數組, 才能使用下標變數。在C語言中只能逐個地使用下標變數, 而不能一次引用整個數組。
⑤ c語言數組的定義
C語言支持一維數組和多維數組。如果一個數組的所有元素都不是數組,那麼該數組稱為一維數組。
在C語言中使用數組必須先進行定義,一維數組的定義方式為:類型說明符; 數組名 ;[常量表達式]。
其中,類型說明符是任一種基本數據類型或構造數據類型。數組名是用戶定義的數組標識符,方括弧中的常量表達式表示數據元素的個數,也稱為數組的長度。例如:
int a[10]; /* 說明整型數組a,有10個元素 */
float b[10], c[20]; /* 說明實型數組b,有10個元素,實型數組c,有20個元素 */
char ch[20]; /* 說明字元數組ch,有20個元素 */
對於數組類型說明應注意以下幾點:
1、數組的類型實際上是指數組元素的取值類型。對於同一個數組,其所有元素的數據類型都是相同的。
2、數組名的書寫規則應符合標識符的書寫規定。
3、數組名不能與其它變數名相同。例如:
int a;
float a[10];
是錯誤的。
4、方括弧中常量表達式表示數組元素的個數,如a[5]表示數組a有5個元素。但是其下標從0開始計算。因此5個元素分別為a[0], a[1], a[2], a[3], a[4]。
5、不能在方括弧中用變數來表示元素的個數,但是可以是符號常數或常量表達式。例如:
#define FD 5
// ...
int a[3+2],b[7+FD];
是合法的。但是下述說明方式是錯誤的。
int n=5;
int a[n];
6、允許在同一個類型說明中,說明多個數組和多個變數。例如:
int a,b,c,d,k1[10],k2[20];
(5)c語言數組string擴展閱讀:
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。[1]目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。
其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
⑥ c語言字元串數組怎麼輸入和輸出呢
在C語言中,有兩個函數可以在控制台(顯示器)上輸出字元串,它們分別是:
puts():輸出字元串並自動換行,該函數只能輸出字元串。
printf():通過格式控制符%s輸出字元串,不能自動換行。除了字元串,printf() 還能輸出其他類型的數據。
這兩個函數相信大家已經非常熟悉了,這里不妨再演示一下,請看下面的代碼:
#include <stdio.h>
int main(){
char str[] = "http://c.biancheng.net";
printf("%s ", str); //通過字元串名字輸出
printf("%s ", "http://c.biancheng.net"); //直接輸出
puts(str); //通過字元串名字輸出
puts("http://c.biancheng.net"); //直接輸出
return 0;
}
運行結果:
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
注意,輸出字元串時只需要給出名字,不能帶後邊的[ ],例如,下面的兩種寫法都是錯誤的:
printf("%s ", str[]);
puts(str[10]);
(6)c語言數組string擴展閱讀:
由數字、字母、下劃線組成的一串字元。一般記為 s=「a1a2···an」(n>=0)。它是編程語言中表示文本的數據類型。在程序設計中,字元串(string)為符號或數值的一個連續序列,如符號串(一串字元)或二進制數字串(一串二進制數字)。
字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。
⑦ C語言 如何定義字元串數組
C語言字元串數組中的每一個元素均為指針,即有諸形如「ptr_array[i]」的指針。由於數組元素均為指針,因此ptr_array[i]是指第i+1個元素的指針。
例:如二維指針數組的定義為:char *ptr_array[3]={{"asdx","qwer","fdsfaf"},{"44444","555","6666"},{"a78x","q3er","f2f"}};
(7)c語言數組string擴展閱讀
字元串數組數組元素表示方法:
數組元素的一般形式為:數組名[下標] 其中的下標只能為整型常量或整型表達式。如為小數時,C編譯將自動取整。
例如,a[5],a[i+j],a[i++]都是合法的數組元素。數組元素通常也稱為下標變數。必須先定義數組, 才能使用下標變數。在C語言中只能逐個地使用下標變數, 而不能一次引用整個數組。
⑧ c語言 string[ ] 這個[ ]是什麼意思
表示string是個數組。
1.char string[20];
定義一個有20個元素的字元串數組。
2.char string[]={「12c」};
定義一個字元串數組string,已經初復制「12c」,所以string的元素一共是4個,包括末尾結束符。
⑨ C語言 string數組
c字元串的長度需要再加上一個0位置的。讀取到了字元串結尾的0才會當作一個完整的字元串.
你這個字元串才分配了6個位元組,spring和summer顯然都越界了。從season[1]開始的話,只有到fall後才能讀取到0。
|s|p|r|i|n|g|s|u|m|m|e|r|f|a|l|l|\0\|\0|w|i|n|t|e|r|
解決方法是:char season[][7]
⑩ C語言的字元數組和字元串的區別
1、長度不同:
對於字元數組,其長度是固定的,其中任何一個數組元素都可以為 null 字元。因此,字元數組不一定是字元串。字元串的結尾是以null 字元結尾,所以長度會有所不同。
2、結尾不同
對於字元串,它必須以 null 字元(也就是'