哪里错了?(C语言问题)
来源:百度知道 编辑:UC知道 时间:2024/05/15 05:42:46
#include<stdio.h>
#include<string.h>
int main()
{
char r1[10]="abc";
char r2[10]="def";
int i;
printf("strlen(r1)=%d\n",strlen(r1));
for(i=0;i<strlen(r2);i++)
{
printf("%c(%d)",r1[strlen(r1)+i]=r2[i],strlen(r1)+i);;
}
printf("\n");
r1[strlen(r1)+i]='\0';
printf("%s\n",r1);
}
#include<string.h>
int main()
{
char r1[10]="abc";
char r2[10]="def";
int i;
printf("strlen(r1)=%d\n",strlen(r1));
for(i=0;i<strlen(r2);i++)
{
printf("%c(%d)",r1[strlen(r1)+i]=r2[i],strlen(r1)+i);;
}
printf("\n");
r1[strlen(r1)+i]='\0';
printf("%s\n",r1);
}
需要加一个中间变量,因为strlen(r1)是变化的。
#include<stdio.h>
#include<string.h>
int main()
{
char r1[10]="abc";
char r2[10]="def";
int i,len;
printf("strlen(r1)=%d\n",len=strlen(r1));
for(i=0;i<strlen(r2);i++)
{
printf("%c(%d)",r1[len+i]=r2[i],len+i);;
}
printf("\n");
r1[strlen(r1)+i]='\0';
printf("%s\n",r1);
getchar();
}
当你赋值后strlen(r1)会计算长度,所以不能strlen(r1)+i
——----------------------------------------------
#include<stdio.h>
#include<string.h>
int main()
{
char r1[10]="abc";
char r2[10]="def";
int i;
printf("strlen(r1)=%d\n",strlen(r1));
for(i=0;i<strlen(r2);i++)
{
printf("%c(%d)",r1[strlen(r1)]=r2[i],strlen(r1));;
}
printf("\