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

逐個字元合並字元串c語言

發布時間: 2023-02-18 05:32:05

『壹』 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);

}

(1)逐個字元合並字元串c語言擴展閱讀:

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

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

『貳』 c語言中如何 把多個字元串合並

#include <stdio.h>
#include <string.h>
main()
{
char strDes[N]= "kkkjdah", strSor[N]="sdasdaaa";
strcat(strSor,strDes);//鏈接
puts(strDes);
puts(strSor);
}

『叄』 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 "stdio.h"
#include "string"
void main()
{
char s[100] ;
char str1[100],str2[100];
gets(s);
gets(str1);
gets(str2);
strcat(s,str1);
strcat(s,str2);
printf("%s",s);
}

『伍』 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語言里如何將多個字元串數據合成一個數據

//將兩個字元串合成一個字元串,在括弧中填入適當的語句,編譯
運行出正確的結果。
#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語言 字元串合並

////////// 如果通過一個地址返回呢?該怎麼處理啊?
#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語言 合並字元串數組

做如下幾個方面的修改:

1:聲明的STK和定義的保持一致

2:STK中返回的是局部數組變數,這樣是不能返回到主函數的

3:字元串的末尾需要加''。

#include<stdio.h>
#include<string.h>
char*Stk(char*,char*,char*);//聲明合並字元串函數
intmain()
{
charstring1[20],string2[10],string3[30];
gets(string1);
gets(string2);
puts(Stk(string1,string2,string3));
return0;
}

char*Stk(charstr1[],charstr2[],charstr3[])
{
inti,j,k,a,b;
a=strlen(str1),b=strlen(str2);
j=0,k=0;
i=strlen(str1)+strlen(str2);
for(i=0;i<=a;i++)
{
str3[i]=str1[j];
j++;
}
for(i=a;i<=(a+b);i++)
{
str3[i]=str2[k];
k++;
}
str3[a+b]='';///////
returnstr3;
}