当前位置:首页 » 编程语言 » 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语言的各种%组合的字符串都什么意思

以各类情势接收其录入或输出的数据以便计算机处理