鱼C论坛

 找回密码
 立即注册
查看: 1213|回复: 6

[已解决]怎么返回结构体对象的值

[复制链接]
发表于 2020-2-7 11:38:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
#include<stdlib.h>


int addNum(struct Sort *num);
int getinput(struct Sort *num);


struct Sort
{
        int x;
        struct Sort *next;
}; 

int getinput(struct Sort *num)
{
        printf("请输入一个整数:");
        scanf("%d",num->x);
        putchar('\n');
        printf("input:%d\n",num->x);
        return num->x;
}

int addNum(struct Sort **head)
{
        struct Sort *num;
        num = (struct Sort *)malloc(sizeof(struct Sort));
        int n;
        
        getinput(num);
        n = getinput(num);
        
        return n;
}

int main(void)
{
        struct Sort *temp;
        struct Sort *num = NULL;
        int n;
        
        printf("输入-1结束输入\n");
        while(1)
        {
                addNum(&num);
                n = addNum(&num);
                printf("%d",n);
                if (n == -1)
                {
                        break;
                }
        }
        
        return 0;
}

我想让函数addNum返回用户输入的值来进行判断是否退出循环,但是这个样子返回的值是一大串数字,请问应该如何修改。
最佳答案
2020-2-7 13:53:26
scanf("%d",num->x);
使用
scanf("%d",&num->x);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-7 13:36:36 From FishC Mobile | 显示全部楼层
把30行和45行删掉。他们重复了。每一个函数不要单独调用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-7 13:53:26 | 显示全部楼层    本楼为最佳答案   
scanf("%d",num->x);
使用
scanf("%d",&num->x);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-7 19:24:48 | 显示全部楼层
f-wind 发表于 2020-2-7 13:53
scanf("%d",num->x);
使用
scanf("%d",&num->x);

能告诉我为什么吗?不是很理解。num不是指针吗,为什么还要取地址?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-7 19:32:17 | 显示全部楼层
召唤风云 发表于 2020-2-7 13:36
把30行和45行删掉。他们重复了。每一个函数不要单独调用。

这的确也是个BUG,谢谢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-7 19:51:15 From FishC Mobile | 显示全部楼层
Albertdjy 发表于 2020-2-7 19:24
能告诉我为什么吗?不是很理解。num不是指针吗,为什么还要取地址?

你输入的是x的值,而不是num的值。所以需要取地址。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-7 20:50:05 | 显示全部楼层
召唤风云 发表于 2020-2-7 19:51
你输入的是x的值,而不是num的值。所以需要取地址。

懂了,谢谢指导
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 03:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表