c+用指针连接两个字符串
答:include<stdio.h> void fun(char *t,char *s){ while(*t!=0)t++;while((*t++=*s++)!=0);} main(){ char ss[]="acc",aa[]="bbxxyy";fun(ss,aa);printf("%s\n",ss);}这样的代码!
答:这样简单解释一下吧,前面都没问题吧,就mystrcat函数里面,你看它有两个参数对吧,然后又定义了一个str,先让str指向str1,用while循环输出str1,输出完后进入第二个while循环str继续++ ,不过就把str2地址赋给它了,等于第二个while循环就输出了str2。 思路够清晰了吧。不懂再追问。
答:include <stdio.h> void main(){ char a[100],b[100],*p1,*p2; scanf("%s%s",a,b); p1=a; p2=b; while(*p1!=0) p1++; while(*p2!=0) *p1++=*p2++; *p1=0; printf("%s\n",a);} ...
答:出错的地方:for(i=0;s2[i]!='\0';i++){p[j+1]=&s2[i];j=j+1;} 原因:在上一个循环中i已经指向了下一个填充的地方,而j+1则让这个地方跳过去了,该地址没有被更新,于是,最终程序访问了非法的地址。改正:p[j]=&s2[i];...
答:temp = a; //将源字符串赋给指针操作. while( temp ) { temp = strstr( temp, b ); //在源字符串中查找//第一次出现的位置,找到返回所处位置,未找到返回NULL. if( temp != NULL ) //如果能找到//,指针偏移查找字符串的长度,然后继续循环,...
答:conj(char *p1,char *p2) {char *p=p1; while(*p1) p1++; while(*p2){*p1 = *p2 ;p1++;p2++;} *p1='\0'; p1 = p ; } 采纳哦
答:! 注意要留1位保存结束符'\0' strcpy(str1,"abcd");strcpy(str2,"efgh"); printf("原字符串分别为:%s %s\n\n",str1,str2); strcat(str1,str2); printf("用strcat拼接后字符串:%s\n\n",str1); strcpy(str1,"abcd");strcpy(str2,"efgh"); p=&str1[...
答:include <iostream> using namespace std;int main() { char *cat(char *a,char *b);char s1[50] = "please ",*s2 = "let me in.";puts(cat(s1,s2));return 0;} char *cat(char *a,char *b) { char *p = a,*q = b;while(*p++);p--;while(*p++ = *q++);p = ...
答:include <stdio.h> void con(char*s1,char*s2){int i,j;for(i=0;s1[i];i++);for(j=0;s1[i++]=s2[j++];);} int main(){ char s1[200],s2[100];gets(s1);gets(s2);con(s1,s2);puts(s1);return 0;}
答:strDest++; //将指向'\0'的下一个位置。/所以要在循环体内++;因为要是*strDest最后指 } //向该字符串的结束标志’\0’。while(*strDest++ = *strSrc++){ p++等价于*(p++)。至于为什么会等价呢?根据c语言的优先级。*与++的优先级同处在第二级别上。他们的优先级是一样的,又因为处在...
网友评论:
厍育15398762155:
使用C++语言,用指针,输入两个字符串,将两个字符串连接起来 -
50101段卷
: #include using namespace std; void main() {char A[30] = "test"; char B[4] = "add";strcat(A,B);//A要有足够空间扩展B中内容 cout }
厍育15398762155:
c++ 中 用指针怎么将两个字符串连接 -
50101段卷
: 需要访问到字符串的终止位置,并与另外的字符串结合.
厍育15398762155:
c++ 编程的一道小题: 使用指针函数编写程序,把两个字符串连接起来.提示:把连接好的字符串放在第一个中
50101段卷
: #include<iostream.h> void* Strcat(char s[],char t[]); int main(void) { char s[100],t[100]; cout<<"请输入第一个字符串:"; cin>>s; cout<<"请输入第二个字符串:"; cin>>t; Strcat(s,t); cout<<"连接后字符串为:...
厍育15398762155:
C++中如何将两字符指针指向的字符串连接 -
50101段卷
: #include <stdio.h> void str_cat( char t[], char *s ) { char *tmp=t; while(*tmp) tmp++; while( *tmp++=*s++ ); } void main() { char s1[100]="hello" ; //s1是结果串,因此,其空间必须要能容下待拼接的串大小 char *s2=" world" ; str_cat( s1,s2 ); printf("%s\n", s1 ); }
厍育15398762155:
C++ 用指针实现字符串的连接和复制 -
50101段卷
: // 字符串复制示例#include <string.h>#include <stdio.h> void main( void ) { char string[80]; strcpy( string, "Hello world from " ); strcat( string, "strcpy " ); strcat( string, "and " ); strcat( string, "strcat!" ); printf( "String = %s\n", string ); }// ...
厍育15398762155:
C++ 用指针实现字符串的连接和复制
50101段卷
: // 字符串复制示例#include <string.h>#include <stdio.h>void main( void ){ char string[80]; strcpy( string, "Hello world from " ); strcat( string, "strcpy " ); strcat( string, "and " ); strcat( string, "strcat!" ); printf( "String = %s\n", string )...
厍育15398762155:
c++/c使用指针编写函数strcat()函数,实现两个字符串的首尾连接. -
50101段卷
: 楼主,你如果要编写函数,首先要由个思想.就是得到两个字符串的时候,如果要连接它们.就要先得到它们的长度,然后动态申请个能包容它们的另外的一个指针.然后在拷贝过去..当然我是这么想的...具体的代码就不用了吧~?
厍育15398762155:
C++中如何将两字符指针指向的字符串连接,如将char *q,*p;p和q的内容连接 -
50101段卷
: strcat()函数,即将一个字符串添加到另一个字符串后面.第一个参数为追加的目标字符串,第二个为追加的源字符串 也可以写一个属于自己的 字符串拼接 函数
厍育15398762155:
编程c程序,使用指针作为函数参数,编写函数参数实现两个字符串首尾连接 -
50101段卷
: #include <iostream> using namespace std; int main() { char *cat(char *a,char *b); char s1[50] = "please ",*s2 = "let me in."; puts(cat(s1,s2)); return 0; } char *cat(char *a,char *b) { char *p = a,*q = b;while(*p++); p--; while(*p++ = *q++);*p = '\0'; return a; }
厍育15398762155:
刚学完指针,需要用指针2个字符串合并成一个,C++ -
50101段卷
: #include<iostream.h>#include<string.h> int strcat(char *s1, char *s2) { int len1 = strlen(s1); int len2 = strlen(s2); int i = 0; while(i <= len2){ s1[len1 + i] = s2[i]; i++; } //s1[len1] = '\0'; return strlen(s1); } void main() { char s1[20] = "Moon "; char s2[10] = " Sky"; cout << strcat(s1, s2) << endl; }