當前位置:首頁 » 編程語言 » c語言字元組合
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言字元組合

發布時間: 2022-06-19 02:51:26

c語言 字元串合並

////////// 如果通過一個地址返回呢?該怎麼處理啊?
#include<stdio.h>
#include<string.h>
#define M 3
#define N 30

void fun(char a[M][N], char *b)
{
for (int i = 0; i< M; ++ i ){
strcat( b, a[i]); // 這樣子使用.
}
}
int main(int argc, char ** argv )
{
char w[M][N]={"AAAA","BBBBBBB","CC"}, a[100];
int i ;
printf("The string: \n");
for(i=0; i<M; i++){
printf("w[%d] = [%20s] \n", i, w[i]);
}
printf("\n");

//bzero(a, sizeof(a));
memset(a,0, sizeof(a));
fun(w,a);

printf("The A string: ---------> \n");
printf("a = [%30s]\n",a);
return 0;
}

////////////////////////////// 為什麼結果出現錯誤 無法運行??
// 因為 b 沒有給它申請內存, 是個未定義的指針. 肯定會出錯.
// 用 strcat 時, 一定要確保, 目標內存的大小有足夠的空間存放合並後的字元串.
// 如果空間太小, 就會出現內存溢出.

#include<stdio.h>
#include <string.h>
int main( int argc, char ** argv )
{
char *b = NULL;
char a[3][20]={"AAAA","BBBBBBB","CC"};
int len = strlen(a[0]) + strlen(a[1]) + strlen(a[2]) + 1 ; //目標字元串長度.
b = (char *)malloc( len ) ;
memset(b, 0, len); // 清0 ;
strcat(b,a[0]);
strcat(b,a[1]);
strcat(b,a[2]);
printf("%s",b);
free(b); // 要記得 free 哦.
b = NULL;
return 0;
}

Ⅱ c語言基礎問題 如何合並字元

table[]數組大小不合理,應該至少有4個sizeof(char)大小才行.
1、int數由個十百千...位組成。所以234可以這樣得到:(table[0] * 10 + table[1])* 10 +table[2] = (2*10+3)*10+4=234。
2、可以先定義一個字元數組用來存放字元串。char newstr[4]; newstr[0] = table[0],newstr[1] = table[1], newstr[2] = talbe[2]; newstr[3] = '\0';註:newstr[3]='\0'的作用是註明字元串已結束,否則程序不知道什麼時候讀完newstr數組。這樣就可以得到abc串了。

Ⅲ C語言里如何將多個字元串數據合成一個數據

//將兩個字元串合成一個字元串,在括弧中填入適當的語句,編譯
運行出正確的結果。
#include
#include
void
main()
{
char
s1[20],s2[30],s3[50];
int
i,j,lengths1,lengths2;
printf("string1:");
gets(s1);
printf("string2:");
scanf("%s\n",s2);
lengths1=strlen(s1);
lengths2=strlen(s2);
for(i=0;i
評論
0
0
載入更多

Ⅳ c語言字元串的組合問題

char buff[ 256 ];
sprintf( buff , "%d this is %s word" , 123 , "abc" );
用法跟printf類似

Ⅳ c語言單字元的組合

Ⅵ C語言 關於組合字元串數組成為一個字元串

fun(a,result);這個調用中是把result的值傳給了b,但這時result的值是NULL,按規定是不可用指針暫且不說,關鍵是fun中b=...的操作是對局部指針b的操作,即把b的值由NULL改變成了a[0]的首地址,並沒有影響到result,result還是NULL,所以主函數中輸出是空。如果硬要這么寫,那得作如下改動:

  1. 把fun的定義改成char *fun(char a[2][99],char *b){...,並在最後一個}前加一句return b;。當然聲明前面的void也得改成char *。

  2. 把主函數中的調用fun(a,result);改成result =fun(a,result);。

經以上改動,代碼肯定會運行成功。但仔細看看代碼就很不順暢了……

Ⅶ c語言如何合並兩個字元串

如果是C語言,有一個函數是strcat

在函數庫string.h,功能就是合並字元串

例如:

#include<stdio.h>
#include<string.h>

chara[10]={"12"};
charb[10]={"bc"};

intmain()
{
strcat(a,b);
printf("%s ",a);
return0;
}

Ⅷ C語言怎麼合並兩個字元串

代碼:

char str1="123";

char str2="abc";

strcat(str1,str2);

printf("%s",str1);

例如:

#include <stdio.h>

#include <string.h>

main()

{

char strDes[N]= "kkkjdah", strSor[N]="sdasdaaa";

strcat(strSor,strDes);//鏈接

puts(strDes);

puts(strSor);

}

(8)c語言字元組合擴展閱讀:

字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。

通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。

Ⅸ C語言中如何將兩個字元串加在一起

可以使用string.h頭文件中的strcat函數 char *a="123"; char *b = "abc"; strcat(a,b)即可,更多的字元串操作可以看一下string.h頭文件中 有好多封好的, 如果不想用的話就可以自己寫一個函數
函數內容:1.獲取兩個字元串的總長度,如total_len=len1+len2然後申請一個動態的數組大小為total_len 然後把字元串中的內容依次放進去就可以了。

Ⅹ c語言的各種%組合的字元串都什麼意思

以各類情勢接收其錄入或輸出的數據以便計算機處理