C语言 字符串怎么加结束标志
#include"stdio.h"#include"string.h"intmain(){chara[10],b[10],c[20];inti;gets(a);gets(...
#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 输出 展开
#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 输出 展开
展开全部
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。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个程序错了一句话
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个字符
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个字符
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的c[20] = strcat(a,b);这句是个错误语句。
c[20]代表的是c数组的第20个元素,c数组根本就没有第二十个元素,存在越界。
加结束标志的话这样子加c[strlen(c)] = '\0';就ok。
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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询