#include <string.h> #include <stdio.h>
void main() { char a[80] = "AB", b[80] = "LMNP", i=0; strcat(a, b); while (a[i] != '\0') { i++; b[i] = a[i]; } puts(b); }
LB
ABLMNP
AB
LBLMNP
首先审题可得:a = “AB”,b = “LMNP”;然后通过 stract(a, b) 函数,将字符串 b 连接到 a 的后面得:a = “ABLMNP”,易错点在于,在 while 循环内,先执行了 i++ 运算,i 的值变为了 1,再对 b 进行赋值;即第一次赋值操作为:b[1] = a[1];所以得出 b 的前两位字符为:”LB”,然后进行接下来的赋值操作;最终结果为:b = “LBLMNP”,所以得出答案为:D。
while(a[i] != '\0') { i++; b[i] = a[i]; }
strcat(a,b)的作用就是将字符数组b接在字符数组a后面产生的新字符数组赋给字符数组a,新的字符数组a=“ABLMNP”,然后在开始复制时,i++在前面,所以从索引等于1开始复制
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题