【发布时间】:2019-05-06 21:50:02
【问题描述】:
main 函数没有打印与结构函数相同的 o/p 为什么?
或
memcpy 没有复制整个数组
请帮忙。
预期 o/p
7 4 5 6 2
7 4 5 6 2
但是
得到 o/p
7 4 5 6 2
7 4 垃圾垃圾
提前致谢。
#include <stdio.h>
#include <string.h>
struct Result {
int output[100];
};
struct Result my(int length, int path, int input[]){
int temp=input[path-1];
for(int i=path-1; i>0; --i){
input[i]=input[i-1];
}
input[0]=temp;
for (int i = 0; i <= length; i++) {
printf(" %d",input[i]);
}
struct Result result;
memcpy (result.output, input, sizeof(strlen(input)));
return result;
}
int main(void){
int a[]={4,5,6,7,2};
struct Result res = my(4,4,a);
printf("\n");
for (int i = 0; i <= 4; i++) {
printf(" %d",res.output[i]);
}
return 0;
}
【问题讨论】:
标签: c arrays function struct return