#include <stdio.h>
#include <string.h>
char Jones(char, char);
int main() {
char name[]="Andrew";
char surname[]="Jones";
char result[80];
result=Jones(name, surname);
puts(result);
return 0;
}
char Jones(char name, char surname)
{
char result[80];
int length;
length = strlen(surname);
for (int i=0; i<50; i++)
{
result[length+i] = name[i];
}
return result;
}
程序无法编译,我不知道为什么。它应该读取两个字符串并交换它们的位置。它应该显示例如。 “琼斯·安德鲁”。
最佳答案
这里有一个问题:
char name[]="Andrew";
char surname[]="Jones";
char result[80];
wynik=Jones(name, surname);
这会使用字符数组(将衰减为字符指针)调用 Jones()
,但该函数被声明为仅接受单个字符。
您应该更改函数以采用char *name, char *surname
,因为它确实似乎需要字符串。
此外,您无法像在 Jones()
中那样返回字符数组,您需要阅读大量有关如何在 C 中使用字符串的内容。
此外,wynik
看起来未声明,这也会导致构建失败。
关于C简单字符串程序无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14154687/