看來你對數組的初始化賦值還不熟, char i[20]={『1』,『A』,『10』,『AB』} 中的
'AB'是錯誤的,不能有兩個字元,只能是一個,'A'或者'B' ,而後面
char i[20]={"1","A","10","AB"}也是錯誤的,出現多個字元串,這應該是二維數組後者或者指針數組等,可以改為char i[4][20]={"1","A","10","AB"}
Ⅱ 定義了一個char型數組,裡面存放的是一串數字,如何讓裡面的數字加一
#include <stdio.h>
int main()
{
char arr[100]={0,1,2,3,4,5,6,7,8,9};
int i;
for(i=0;i<10;i++)
{
if(arr[i]==9) //為了解決9+1=10的問題 只有字元9有這種問題
{
printf("%c%c",'1','0');
}
else
{
arr[i]=arr[i]+'1';
printf("%c ",arr[i]);
}
}
printf("\n");
return 0;
}
Ⅲ C語言在數組中儲存字元
gets()函數就可以 輸入字元串 可以安數組的序列號尋找特定的字母
Ⅳ C++怎麼在數組中存放字元串,比如a【1】=好的,a[2]=可以,
intmain(intargc,char**argv){
chararr[4][256]={"好的","可以","沒問題","xxxx"};
for(inti=0;i<4;++i){
std::cout<<arr[i]<<std::endl;
}
return0;
}
是你想要的效果?用二維數組不就OK了,只是需要注意字元串個數和字元串長度。
純手工,忘採納!
Ⅳ C語言中如何把字元串保存在數組中
你這個毫無規律啊!!!
a[0]的56是16進制的,你的字元串是「56」;
a[2]的45的10進制的,你的字元串中也是「45」,規律都不同。
做不到!!!
如果是按照16進制,所有數都的按照16進制來,如果是10進制的話,一樣的。
例如10進制,使用你上面的數據:
a[0]
=
5*16+6
=
86;
a[1]
=
8*16+7
=
...,
a[2]
=
45;
字元串應該是"86...45..."
希望能解決您的問題。
Ⅵ c語言程序中,定義幾個字元數組,在內存中是怎麼存儲的
你的test數組太小了,strcat後越界了,最後結果不定
strcat(test,list)要求test至少要有5+26+1才能正常容納合並後的字串
下面這樣就沒問題了:
char test[100] = "SWORD";
char list[60] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char data[20] = "ABCDE";
strcat(test,list);
printf("%s\n",test);
printf("%s\n",list);
printf("%s\n",data);
Ⅶ C語言中怎麼把字元數組里的數據存放到字元串數組中
利用C語言標准庫中的strtok()函數,可以輕鬆快捷的將以空格分隔開的一串字元分成多個子串,存放到字元指針數組中。
函數說明:
#include <string.h> //頭文件
char *strtok(char *str, const char *delim);
strtok()用來將字元串分割成一個個片段。參數str指向欲分割的字元串,參數delim則為分割字元串中包含的所有字元。當strtok()在參數str的字元串中發現參數delim中包涵的分割字元時,則會將該字元改為 字元。在第一次調用時,strtok()必需給予參數str字元串,往後的調用則將參數str設置成NULL。每次調用成功則返回指向被分割出片段的頭指針。當沒有被分割的串時則返回NULL。
參考代碼: