C语言 字符串怎么加结束标志

#include"stdio.h"
#include"string.h"
int main()
{
char a[10],b[10],c[20];
int i;
gets(a);
gets(b);
c[20]=strcat(a,b);
puts(c);
return 0;
}

不用for循环 怎么用puts 输出

1、首先我们打开C语言编辑软件。

2、然后我们点开“文件”,“新建”,进入界面以后,我们新建一个C的文件。

3、我们要知道C语言中的字符串结束标志是字符‘\0‘。通常情况下我们有两种办法去输出结束标志。

4、直接使用字符‘\0’来输出结束标志。

5、我们还可以利用ASCII码,'\0'的ASCII码是0,所以我们可以利用0x00来输出结束标志。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-22

需要准备的材料分别有:电脑、C语言编译器

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp,输入问题基础代码。

2、在test.cpp文件中,将“c[20]=strcat(a,b);”调整为:c[0] = '\0';strcat(c,a);strcat(c,b);。

3、编译器运行test.cpp文件,此时成功不通过for循环对字符串c用puts进行了输出。

本回答被网友采纳
第2个回答  推荐于2017-09-24

  C语言中的字符串结束标志是字符‘\0’,它的ASCII码值是0。一般来说使用两种该来加结束标志。

  1、使用字符'\0',比如下面的代码

char sztest[3];
sztest[0] = 'a';
sztest[1] = 'b';
sztest[2] = '\0'; //这里直接使用结束字符'\0'

  2、使用ASCII码值来做为结束符,示例代码如下。

#include <stdio.h>
int main()
{
char sztest[] = "test";
sztest[1] = 0x00;
printf("%s\n", sztest);
return 0;
}

  执行结果只输出第1个字符t。

第3个回答  推荐于2017-10-04
这个程序错了一句话
c[20]=strcat(a,b);
strcat的定义是吧b连接到a后面
你要实现你的要求,只能这样
strcpy(c,a); 先把a拷贝到c中

strcat(c,b);再把b连接到c后面
一般来说这些字符串的函数,返回值不是字符串
如strcmp比较,返回-1 0 1的一个
strcpy一般是返回拷贝的字符的个数
strcat一般也是返回前面连接完成后的字符串的字符个数

strcat自动加上结束符
gets也是自动加上结束符的,只要ab不超过9个字符本回答被提问者采纳
第4个回答  2013-11-19
你的c[20] = strcat(a,b);这句是个错误语句。
c[20]代表的是c数组的第20个元素,c数组根本就没有第二十个元素,存在越界。

加结束标志的话这样子加c[strlen(c)] = '\0';就ok。追问

那怎么用strcat把两个数组连接起来?

追答

连接的话使用strcat这个函数式是没错的,strcat(a,b);的意思是把b字符串衔接到字符串a的尾端,有个前提是字符串a的空间需要足够大,能够放下衔接后的字符串。如果想吧衔接后的字符串复制到c中需要这样子写:
strcat(a,b);
strcpy(c,a);

相似回答