1.c语言连接字符串S楼主定义的数组a只有3个元素,最后连接的时候把a和b的一起往里面放,当然会出现内在错误.
再有scanf("%c",&a[i]);和scanf("%c",&b[i]);用这两个语句读取字符串很可能会出错的 可以在%和c之间加一个空格来解决,具体原因楼主可以查看一下scanf的原码
借用别人的一段代码:
#include <stdio.h>
#include <stdlib.h>
void lianjie(char *p1,char *p2);/*字符串连接函数,连接后保存在p1中*/
int longth(char *p);/*判读字符串长度*/
int main()
{
char strfrom[50]="i am a good student";
char strto[20]=" i love c";
lianjie(strfrom,strto);
printf("%s",strfrom);
return 0;
}
void lianjie(char *p1,char *p2)
{
int i=0;int j=0;int k;
i=longth(p1);
j=longth(p2);
k=i+j;
for(j=0;i<k+1;j++)
{
*(p1+i)=*(p2+j);
i++;
}
}
int longth(char *p)
{
int i=0;
for (;*(p+i);i++);/*遇到\0,循环结束*/
return i;
}
2.C语言编写字符串连接int i=0,j;
char ch;
char str1[100],str2[100];
printf("请输入2个字符串:\n");
scanf("%s %s",str1,str2);
printf("合并前str1:%s,str2:%s\n",str1,str2);
strcat(str1,str2);
while(str1[i]!='\0')
{
for(j=i;j<strlen(str1);j++)
{
if(str1[i]>str1[j])
{
ch=str1[i];
str1[i]=str1[j];
str1[j]=ch;
}
}
i++;
}
printf("合并后%s\n",str1);
3.C语言中字符串连接怎么解决可以使用字符串连接函数strcat()函数,头文件是#include<string.h>;
举例如下:
两个字符串char [100]="abc",b[50]="def";
将其变为一个字符串并输出
#include<stdio.h>
#include<string.h>
int main()
{
char a[100]="abc",b[50]="def";
strcat(a,b);
printf("%s\n",a);
}
拓展资料
C语言是一门通用计算机编程语言,广泛应用于底层开发 。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言 。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台 。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准 。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程 。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同 。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等 。
4.c语言连接字符串#include<stdio.h>
void main()
{
char a[80],b[40];
int i=0,j=0;
printf("input string1:");
scanf("%s",a); //输入字符串a
printf("input string2:");
scanf("%s",b); //输入字符串b
while(a[i]!='\0') //这个while作用是下标i从0开始遍历数组a直到找到数组a的结束符.
i++;
while(b[j]!='\0') //这个while是将数组b赋值到数组a从结束符开始往后的一块区域中.
a[i++]=b[j++];
a[i]='\0'; //重新增加一个字符串结束符.
printf("the new string is :%s\n",a);
}
5.C语言编程:字符串的连接scanf("%s %s",a[100],b[100]);改为scanf("%s %s",a,b);
- ddmmyy日期怎么写
- 足球赛笔记怎么写
- 2月27日大写怎么写
- 联通年终总结怎么写
- 拉丁文37怎么写
- 怎么帮宝宝写周末见闻
- 12月10日英文怎么写
- sci论文引用怎么写
- hear中文怎么写
- 资料一da怎么写