gpt4 book ai didi

c - 如何在不使用 C 中的数组或指针的情况下在函数中返回三个数字?

转载 作者:太空宇宙 更新时间:2023-11-04 01:45:07 25 4
gpt4 key购买 nike

问题:

编写一个程序,接受三个整数,然后按读取和反转的顺序打印它们。使用三个函数,一个读取数据,一个按读取顺序打印数据,一个倒序打印。

程序(未完成):

#include <stdio.h>

int accept(){
int x, y, z;
printf("Please enter three integers: \n");
scanf("%d %d %d", &x, &y, &z);
return x, y, z;
}

int main(){
x, y, z = accept();
}

错误: 错误:'x' 未声明(首次在此函数中使用)| 注意:每个未声明的标识符只为它的每个函数报告一次 出现在| 错误:“y”未声明(在此函数中首次使用)| 错误:'z' 未声明(首次在此函数中使用)|

如何修改这个程序,以便在不使用数组或指针的情况下返回这三个变量?或者不使用它们是不可能的?

最佳答案

您可以创建一个包含这三个值的结构

typedef struct MyStruct
{
int a, b, c;
} MyStruct;

然后将指向结构实例的指针传递给函数并从函数传递(旁注:始终使用指针执行此操作,因为它更有效,因为它只传递一个 8 字节的值。传递结构本身意味着(如果我没记错的话) ) 编译器在将它作为参数传递时会尝试将结构拆分为它的值)

关于c - 如何在不使用 C 中的数组或指针的情况下在函数中返回三个数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55175361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com