这纯粹是为了个人利益,而不是家庭作业。
#include <stdio.h>
int main(void)
{
char* str3;
char* str1 = "Hello";
char* str2 = "World!";
while(*str1) str1++;
while(*str1++ = *str2++);
return 0;
}
我正在尝试更好地理解 C 指针,在此过程中,我想连接两个字符串并将结果放入第三个字符串中。上面的(不完整的)代码会导致段错误,我不知道为什么。是否可以遍历指针引用的值并将数据复制到另一个地址?
编辑:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char* str1 = "Hello";
char* str2 = "World!";
char *str3 = malloc(strlen(str1) + strlen(str2) + 1);
while(*str1) *str3++ = *str1++;
while(*str2) *str3++ = *str2++;
puts(str3);
return 0;
}
新的尝试在上面,虽然没有功能,但是否有我需要修复的“明显”项目?