gpt4 book ai didi

c - 没有得到任何输出

转载 作者:太空宇宙 更新时间:2023-11-04 04:32:30 26 4
gpt4 key购买 nike

我的main.c文件的内容

#include <stdio.h>
#include "max_subarray_data.h"

int main()
{
init_change();
for(int i=0;i<n;i++)
{
printf("%d %d\n",i,change[i]);
}
}

max_subarray_data.h的内容

extern int price[];
extern int change[];
extern int n;

void init_change();

我的max_subarray_data.c的内容

int price[]={100,113,110,85,105,102,86,63,81,101,94,106,101,79,94,90,97};
int n=(int)(sizeof(price)/sizeof(int))-1;
int change[(int)(sizeof(price)/sizeof(int))-1];

void init_change()
{
for(int i=0;i<n;i++)
{
change[i]=price[i+1]-price[i];
}
}

为什么我没有输出?

最佳答案

如果不是 printf() 中缺少的 '\n' 可能是因为你的数组 change 是一个元素太小了:作为数组大小,您使用与设置 n 相同的表达式,因此 n-1 是可能的最大索引。但随后您从 1 循环到 n 并将某些内容分配给 change[n]。这会调用未定义的行为,因此任何事情都可能发生。

关于c - 没有得到任何输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34318439/

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