1樓:網友
#include
void main(void)
char a[5];
int i = 0;
for(i=0;i<5;++i)
scanf("%s",&a[i]);
puts(a);
這是你的程式吧?
這樣會得到你要的結果,不過過程可能不像你想象的那樣。
1,輸入a,按回車,將字串"a",存入a[0]開始的位址中,因為是乙個字元的字串,然後a[1]被置´\0´
2,輸入b,按回車,將字串"b",存入a[1]開始的位址中,因為是乙個字元的字串,然後a[2]被置´\0´
3,輸入c,按回車,將字串"c",存入a[2]開始的位址中,因為是乙個字元的字串,然後a[3]被置´\0´
4,輸入d,按回車,將字串"d",存入a[3]開始的位址中,因為是乙個字元的字串,然後a[4]被置´\0´
5,輸入e,按回車,將字串"e",存入a[4]開始的位址中,因為是乙個字元的字串,然後a[4]後面的乙個字元的空間被置為´\0´,這個空間不是陣列範圍內的了。
puts(a); 就把從位址a開始,到´\0´結束 的字串輸出。也就是abcde
你連著5次輸入字串,陣列空間很小,有其他風險。
2樓:網友
puts 是輸出字串 函式啊。
3樓:徐光豬
#include
void main()
char a[5];
for(int i=0;i<=4;i++)scanf("%c",&a[i]);應該用%c,如果用%s是對字串的。
puts(a);/輸出亂碼的,因為puts()是看著'\0'輸出的,如果沒有,就會輸出abcde然後亂碼,知道碰上隨機的'\0'才結束。
字元陣列是字串嗎?
4樓:更上百層樓
一、兩者的作用不同:
1、字元陣列的作用:存放字元或字串。
2、字串的作用:字串給使用者提供很多方便,如高精度運算時每一位都可以轉化為數字存入陣列。
二、兩者的實質不同:
1、字元陣列的實質:字元陣列用於存放字元或字串,字元陣列中的乙個元素存放乙個字元,它在記憶體中佔用乙個位元組。c語言中沒有字串型別,字串是存放在字元型陣列中的。
2、字串的實質:字串主要用於程式設計,概念說明、函式解釋;字串在儲存上類似字元陣列,所以它每一位的單個元素都是可以提取。
三、兩者的範圍不同:
1、字元陣列的範圍:字元陣列包括字串。
2、字串的範圍:字串屬於字元陣列。
5樓:網友
不一定。字串是以\0的字元序列,字元陣列可能包含\0,也可能不包含,所以不一定符合字串需求。
字元陣列的定義
6樓:撿點科技小知識
字元陣列的敬磨虛定義:用來存放字元量的陣列稱為字元陣列。字元陣列型別說明的形式與前面介紹的數值陣列相同。
陣列」是有限個同型別元素的有序集合,這些元素有乙個共同的名字,即「陣列名」。每個元素以其在陣列亮燃中的遊肢位置區分,位置用「下標」表示。
字元陣列的定義
7樓:信必鑫服務平臺
在c語言中,沒有專門的字串變數,而是將字串存入字元陣列來處理。
即用乙個一維陣列來存放乙個字串,每個元素存放乙個字元。
如:char c[5];
字元陣列是陣列的乙個特殊情況,但它的定義方法與上述介紹的類似;引用方法可以與上述介紹的同,也有其獨特的引用方法;由於字元型者搜與整型是相互通用的,因此上面定義也可改為:int c[5]。
字串陣列名代表什麼
8樓:網友
答對了。
其實任何變數的名稱代表的都是變數位址,這點學校和教科書不會說的。
舉例int a,b=10;
a=b;將b賦值給a的操作細節是:
取a和b的位址(直接定址)
取將b位址中的值。
複製儲存到a的位址中。
對於普通變數(單個變數),包括指標變數,編譯器遇到賦值運算會自動取值,這叫隱式轉換。
而對於陣列,如果只給出陣列名,編譯器不會直接取第乙個元素,因為它無法確定你要取第幾個元素,因此編譯器不會自動處理(取值),返回的就是陣列名的位址,也就是第乙個元素的位址。
而只有當你指定乙個索引,才相當於普通變數的取值,而取值過程是:
先取陣列位址,在利用索引計算元素位置,然後取值。
因此對於陣列a,使用陣列名時, int *p=&a 和 int *p=a效果是一樣的,前者是顯式訪問,後者是隱式訪問。
c++難,我覺得不僅僅是難在指標上,而是很多隱含的自動轉換,因為很多隱式轉換不同編譯器處理不同,所以讓很多初學者很頭痛。
字元陣列的定義
9樓:網友
對,要麼像char s[10]這樣限定大小,要麼通過初始化限定大小,如char s="12345";
10樓:網友
是的 這樣定義是不能通過的,首先你這是c語言風格的字元陣列,在c語言中,你必須指定分配多少的記憶體給這個變數,所以要麼是char s[10];要麼就直接初始化。另外如果你想達到不分配記憶體的目的,c++中可以定義string,比如說 string s;然後再s="1234";或者別的操作,這是可以的。
11樓:網友
c裡面宣告陣列的話必須指定大小。例如:char s[num] 其中num必須為常量。
] ( )字元陣列在定義時可以利用字串常量為字元陣列變數賦初值。其它型別陣列同樣也具備這樣的能力
12樓:
摘要。您好,很高興為您解答,親親, (b )字元陣列在定義時可以利用字串常量為字元陣列變數賦初值。其它型別陣列同樣也具備這樣的能力。
a對 b錯這個題目的答案是b哦!字串常量只能在定義字元陣列變數時賦初值給字元陣列變數,而不能將乙個字串常量直接複製給字元陣列變數。
b錯。 (字元陣列在定義時可以利羨敏用字串常量為字元陣列變數賦初值。其液祥它型別陣列同樣也具備這鬧派搏樣的能力。
a對。 (字元陣列在定義時可以利羨敏用字串常量為字元陣列變數賦初值。其液祥它型別陣列同樣也具備這鬧派搏樣的能力。
b錯。a對。
字元陣列在定義時可以利羨敏用字串常量為字元陣列變數賦初值。其液祥它型別陣列同樣也具備這鬧派搏樣的能力。
C語言字串,求大佬,C語言字串陣列的問題
在語句for j 0 s j 0 j 中,j 記錄的是串s的字元個數,結束該迴圈時,s j 恰好是 0 在接下來的for迴圈中,第一個j 後,s j 是串s的最後一個字元,而i為0,迴圈體將s 0 與s j 進行交換,第二個j 是正常遞減,以便與i 相對應,交換s i 和s j 沒那個程式之類執行不...
cvi類似c語言字串陣列賦值問題
1 把字元陣列 0x01,0x34,0x0e,0x0a,0x00,0xab,0xec 中的十六進位制資料轉為字串 字串中的字元依次為 0 1 3 4 0 e 0 a 0 0 a b e c 0 2 例子 char a 7 char b 15 char t int i for i 0 i 7 i 我猜...
c 中字元陣列,如何轉成字串啊
如果你想把一個字串變成陣列,你只需要將字串初始化為陣列變數的值即可。例如 char c 10 this is 在c 裡字串在記憶體的儲存方式就是按字串陣列的形式儲存的,所以不用轉換!用cstring的getbuffer函式返回一個存放字元的頭指標,用一個char 來接受他,然後用下標操作就可以了。例...