char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde"; strcat(p

xieyinjuan2022-10-04 11:39:541条回答

char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde"; strcat(p,r);strcpy(p+st
char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde";
x09strcat(p,r);strcpy(p+strlen(q),q);
x09printf("%dn",strlen(p));
怎么运行,结果为什么是6

已提交,审核后显示!提交回复

共1条回复
kapper1 共回答了16个问题 | 采纳率93.8%
strcat(p,r);后
p="abcdabcde"
strcpy(p+strlen(q),q);后p的第7位是' '
p="abcabc"
当然是6
1年前

相关推荐

不如strcpy strcat strcmp等我知道它们的意思 给我解释一下它们的英文意思 是不是合成词 不解释意思不要
不如strcpy strcat strcmp等我知道它们的意思 给我解释一下它们的英文意思 是不是合成词 不解释意思不要回
地狱aa0021年前1
声如雪 共回答了16个问题 | 采纳率87.5%
首先它们不是英文单词,就不是合成词了,它们只是相应的单词的缩写,专用于编程之中,因为都是函数,所以函数名要符合相应语言的命名规则,而且同时要有相应的意思,这样才能让人更好地理解和运用这些函数.然后来解释每个函数的意思.
str 是字符串string的缩写,cpy是copy的缩写,这样连在一起,strcpy你就能从它的函数名理解到它的用途,编程毕竟是从国外兴起的,老外看的strcpy能够马上反应出它的功能,就是这样的.
其他两个是同样的道理,cat是catenate(连接)的缩写,cmp是compare(比较)的缩写.
求高手帮忙注释下下面程序,不懂.strcpy(a+1,b+2); puts(strcat(a,c+1));希望详细点
求高手帮忙注释下下面程序,不懂.strcpy(a+1,b+2); puts(strcat(a,c+1));希望详细点
#include
#include
main()
{char a[10]="abc",b[10]="012",c[10]="xyz";
strcpy(a+1,b+2);
puts(strcat(a,c+1));
}
jonsxu1年前1
coolmmok 共回答了23个问题 | 采纳率82.6%
strcpy(a+1,b+2);//把b数组的第3个元素开始到NULL出现为止的字符串复制给a数组第2个元素开始的内存空间
puts(strcat(a,c+1));//打印字符串,该字符串为a数组中的字符串和c数组第2个元素开始的字符串,
strcat()的意义为把c数组第2个元素开始的字符串添加到a数组的结尾.
有指针变量p1,p2,p1="abc";p2="abc".strcat(p1,p2)如何理解
有指针变量p1,p2,p1="abc";p2="abc".strcat(p1,p2)如何理解
strcat函数的参数只能是数组吧?正确的应该是strcat(*p1,*p2)吧?
wzm147841年前1
520蜡笔小新 共回答了17个问题 | 采纳率70.6%
strcat的函数定义如下:
char *strcat(char *dest,char *src);
用法  #include //在C++中,则存在于头文件中.
功能  把src所指字符串添加到dest结尾处(覆盖dest结尾处的' ')并添加' '.
说明  src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串.
返回 指向dest的指针.
-------------
由上可知,参数1和2都是char类型的指针,所以正确的调用方法是strcat(p1,p2)
但要注意“src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串.”
英语翻译(1)strcat also takes two arguments,but this function ape
英语翻译
(1)strcat also takes two arguments,but this function apeends the string in the second arguement to the end of the string already contained in the first.
(2)a string literal may not be used as the first argument to either of these last two functions.
jdfsjafksaj1年前1
jiajia86725 共回答了16个问题 | 采纳率87.5%
1.strcat也需要两个参数,但是这个函数会把第二个字符串参数加在第一个字符串参数的後面.
2.字符串不可以作为最後这两个函数中任意一个的第一个参数.
c++中,strcpy()和strcat(),str+2又是什么意思?
c++中,strcpy()和strcat(),str+2又是什么意思?
#include
#include
main()
{ char *p1="abc",*p2="ABC",str[50]="xyz";
strcpy(str+2,strcat(p1,p2));
printf("%sn",str);
}
A.xyzabcABC
B.zabcABC
C.xyabcABC
D.yzabcABC
我静悄悄的来1年前1
shenhao 共回答了19个问题 | 采纳率84.2%
答案选C.
strcpy()是复制字符串.
strcat()是把两个字符串连接起来.
str+2,这个是把数组当成指针用.str指向的是数组里的第一个元素,str+2指向数组里第三个元素,也就是字母z.C/C++里的数组跟指针很相似的.如果不明白就去翻翻书吧.
strcpy(str+2,strcat(p1,p2));
这整句的意思就是:先把p1和p2连起来,得到abcABC,然后把这个字符串复制到str+2所指向的位置.所以结果是xyabcABC.