首页 > 解决方案 > 如何正确地将数组传递给结构

问题描述

问题已编辑

我是C语言的新手,在这里。

数组是否可以通过结构返回其值?

虽然我试图处理 List[5] = {1, 2, 3, 4} 中的每个字符,但是它只停留在 1 并且只打印 575757 而不是

我的结构

struct Count numbers() {                                    
struct Count numbers;
int List[5] = {1, 2, 3, 4};
int i = 0;

for (i = 0; i < 10; i++) {         //It might be something in my for loop
    numbers.intOne= List[i] + 4;   // 1 + 4
    numbers.intTwo= List[i] + 6;   // 1 + 6     
    return numbers;
}
};

这仅打印 575757,我希望打印 576879

void printCode(struct Count numbers) {
int i;
for (i = 0; i < 3; i++) {
    printf("%i%i", numbers.intOne, numbers.intTwo); 

}
}

主要的

int main() {
int i = 0;

for (i = 0; i < 10; i++) {
    numbers();
    printCode(numbers());
    getchar();
}

}

感谢您的任何帮助!

标签: cstringfor-loopstruct

解决方案


它只停留在“4352”

您将在处理完数组decode的第一个元素后不久返回。所以和数组的其他元素不会被填满。output4352checkparam

在任何情况下,checkandparam都是函数的本地数组,并且decode它们的元素的值不能在函数之外使用。


推荐阅读