已知:char a[20]= "abc",b[20]= "defghi";则执行下列语句后printf("%d",strlen(strcpy(a,b)));

输出结果为()A)11 B)6 C)5 D)以上答案都不正确

B

strcpy(a,b)执行后将以b打头的字符串拷贝到a打头的地址中,所以a字符串被覆盖成"defghi"

所以strlen(strcpy(a,b))统计的就是"defghi"的长度,也就是6
温馨提示:内容为网友见解,仅供参考
无其他回答

...abc",b[20]= "defghi";则执行下列语句后printf("%d",strlen(strcpy...
所以strlen(strcpy(a,b))统计的就是"defghi"的长度,也就是6

printf("�,strlen(strcpy(a,b)))
所以strlen(strcpy(a,b))统计的就是"defghi"的长度,也就是6

C语言请编写函数fun,其功能是:移动字符串中的内容,移动的规则是把第1...
char a[N]= "ABCDEFGHIJK";int m;printf("The original string:\\n");puts(a);printf("\\n\\nEnter m: ");scanf_s("%d",&m);fun(a,m);printf("\\nThe string after moving:\\n");puts(a);printf("\\n\\n");} void fun(char *w,int m){ int i,j,k;char b;k=strlen...

m=3,为什么输出结果不是DEFGHIJKABC
fun函数里的i,j变量有问题,正确的是:void fun (char *w,int m){ char p[N];int i=0,j=0;for(i=m;w[i]!='\\0';i++)p[j++]=w[i];for(i=0;i<m;i++)p[j++]=w[i];p[j]='\\0';printf("%s\\n",p);j=0;for(i=0;p[i]!='\\0';i++)w[j++]=p[i];...

相似回答