c - 在C中打印数组的总和
问题描述
我正在尝试在二维数组中打印一行的总和,但是这段代码没有返回任何内容。
#include <stdio.h>
double sum(double array[365][8], int i, int j)
{
double sum = 0;
for(i = 173; i <= 266; i++)
{
for(j = 2; j < 3; j++)
{
sum = sum + array[i][2];
}
}
return (sum);
}
int main (void)
{
int i, j;
double array[365][8];
FILE *file;
file = fopen("data.txt", "r");
for(i = 1; i <= 365; i++)
{
for(j = 0; j <= 7; j++)
{
fscanf(file, "%lf \n", &array[i][j]);
}
}
printf("The sum is: %lf", sum(array, i, j));
return (0);
}
我不知道还有什么要改变才能让它工作。有人可以帮忙吗?
解决方案
fopen
除了像@Jabberwocky 在评论中所说的那样检查是否失败。
我认为问题很可能在这里:
您声明double array[365][8]
,但在此循环for(i = 1; i <= 365; i++)
中,您正在传递数组的边界。
我认为这会有所帮助
for(i = 0; i < 365; i++)
{
for(j = 0; j <= 7; j++)
{
fscanf(file, "%lf \n", &array[i][j]);
}
}
PS:那么你应该在此基础上更改其他数字。
推荐阅读
- java - 如何从 Commands 类获取命令发送者到 DB 类
- bash - 从外部驱动器复制到 Box 文件夹的 Bash 脚本
- authentication - 如何在代理和重定向环境中捕获 HTTP 流量
- swift - Xcode || 仅在发布模式而不是在调试模式下添加 swift 包以避免增加编译时间
- google-apps-script - 通过宏/脚本在 GoogleSheets 中折叠数据透视表列
- php - PHP 项目清理
- javascript - 在 javascript 中使用 dropzone.js 或普通 js 处理 csv
- c# - 寻找一种使用和异步成为朋友的方法
- api - 美国县和美国城市的自动完成 API 文本框
- ffmpeg - ffmpeg 将 Windows 7 桌面流式传输到 Youtube 给出无效参数