gpt4 book ai didi

c - 我们如何在C中定义和使用函数内的结构?

转载 作者:行者123 更新时间:2023-11-30 20:10:17 26 4
gpt4 key购买 nike

我正在尝试在函数内创建一个结构,并且我正在尝试使用它。但是当我比较结构中的两个值时,我收到以下消息:

“C:\Users\hp\Desktop\prgm\cap.c||在函数‘fnumber’中:|C:\Users\hp\Desktop\prgm\cap.c|

72|错误:请求非结构或 union 中的成员“f_value”|||=== 构建失败:1 个错误,0 个警告(0 分钟,0 秒)===|

这是我的代码:-

#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>

/*
* Complete the function below.
*/
int fnumber(long input1,int input2_size, int* input2)
{
int i, j, k, count[input2_size],temp=0;
int arr_temp[input2_size];
struct smaller{
int position;
int f_value;};

struct smaller list[input2_size];
struct smaller temp1;
memccpy(arr_temp, input2, input2_size,sizeof(int));
for(i=0; i<input2_size;i++)
{
for(j=i+1; j<=input2_size;i++)
{
if(arr_temp[i]>arr_temp[j])
{
temp=arr_temp[i];
arr_temp[i]=arr_temp[j];
arr_temp[j]=temp;
}
}
}
for(i=0; i<input2_size;i++)
{
if(i>1)
count[i]=input2[i];
for(j=0;j<input2[i-1];j++)
{
count[i]+=arr_temp[j];
}
}
/* for(i=0;i<input2_size-1;i++)
{
for(j=i+1;j<input2_size;j++)
{
if(count[i]>count[j])
{
temp=count[i];
count[i]=count[j];
count[j] = temp;
}
}

}*/
for(i=0,j=0;i<input2_size;i++)
{
if(count[i]<=input1)
continue;
else
{
list[j].position=i;
list[j].f_value=count[i];
j++;
}

}
for(i=0;i<input2_size-1;i++)
{
for(j=i+1;j<input2_size;j++)
{
if(list[i].f_value>list[j.f_value])
{
temp1=list[i];
list[i]=list[j];
list[j]=temp1;
}
}
}
return list[0].position;

}

int main() {
int output = 0;
long ip1;
scanf("%ld", &ip1);
int ip2_size = 0;
int ip2_i;
scanf("%d\n", &ip2_size);
int ip2[ip2_size];
for(ip2_i = 0; ip2_i < ip2_size; ip2_i++) {
int ip2_item;
scanf("%d", &ip2_item);

ip2[ip2_i] = ip2_item;
}
output = fnumber(ip1,ip2_size,ip2);
printf("%d\n", output);
return 0;
}

最佳答案

        if(list[i].f_value>list[j.f_value])

您将 list[j].f_value 拼写为 list[j.f_value]

此外,memccpy 应该是 memcpy

关于c - 我们如何在C中定义和使用函数内的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46653546/

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