我试图用这段代码来解决这个问题,但索引似乎对我不起作用..
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
char *a = "abcde";
char *b = "vwxyz";
char s[10];
strcpy(s,a+0);
printf("%s\n",s);
strcpy(s+1,b);
printf("%s\n",s);
return 0;
}
希望有人能解释一下,因为第一个 strcpy 结果是 abcde。对于 s[1] 来说,这将是字母“b”,那么它不是 abvwxyz 吗?但正确的结果是 avwxyz。
最佳答案
wouldn't it be
abvwxyz
?
没有。它将给出 avwxyz
作为输出。 s+1
指向数组s
的第二个元素(衰减后),即b
。复制将从字母b
开始。 b
被v
覆盖。
关于c - Strcpy 索引输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21446438/