1613551 发表于 2023-1-20 10:08:44

关于strcat的问题

本帖最后由 1613551 于 2023-1-20 10:11 编辑

我想问一下为什么这段代码的结果是e
是因为+3后s2是从d那里拼到s1后面吗

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char s1 = "he\0llo", s2 = "abcdef";
strcat(s1, s2 + 3);
printf("%c\n", s1);
system("pause");
return 0;
}

dolly_yos2 发表于 2023-1-20 10:23:36

s2 + 3 等价于 &s2

jhq999 发表于 2023-1-20 10:42:05

s1从0开始
所以\0的位置s是d
s='e'
页: [1]
查看完整版本: 关于strcat的问题