【发布时间】:2019-02-14 09:34:23
【问题描述】:
我有两个名为name 和subject 的字符串数组。我想要另一个字符串数组,其元素是通过将第一个数组的字符串与另一个数组具有相同索引的字符串连接来获得的。新数组应该是函数的输出。
这里我给出了一个代码示例,但由于出现错误,我无法编译。 我也见过this question,但我无法使用它。
谁能告诉我如何在没有动态分配和动态分配的情况下解决这个问题?
#include <stdio.h>
#include <string.h>
const int MAX = 4;
char* concancate_string(char* name,char* subject);
int main () {
char* name[] = {
"michel",
"sam",
"roy",
"romi"
};
char* subject[] = {
"physics",
"math",
"chemistry",
"biology"
};
char* p[];
p=concancate_string(name,subject);
for ( int i = 0; i < MAX; i++) {
printf("name and subject[%d] = %s\n", i, name[i] );
}
return 0;
}
char* concancate_string(char* name,char* subject)
{
for ( int i = 0; i < MAX; i++) {
strcat(name[i]," : ");
strcat(name[i],subject[i]);
}
return name;
}
resulted output array:
{
"michel : physics",
"sam : math",
"roy : chemistry",
"romi : biology"
}
【问题讨论】:
-
如果没有动态分配,IMO 是不可能的。