arrays - 错误:C 中的预期表达式 - 无法将变量定义为数组的长度
问题描述
我正在学习 CS 课程,并编写了一个简单的程序来查找给定(输入)输入量的平均值。
#include <stdio.h>
#include <cs50.h>
int main(void)
{
int n = get_int("Please enter the number of scores: ");
int scores = [n];
for(int i=0; i<n; i++)
{
int scores[i] = get_int("Please, enter the score: ");
}
printf("Average: %f\n", average(n, scores));
}
float average(int length, int array[])
{
int sum = 0;
for(int i = 0; i < length; i++)
{
sum += sum + array[i];
}
return sum / (float)length;
}
编译时,第 10 行出现“预期表达式”错误(即{int scores = [n];}
——任何帮助或建议将不胜感激!!
解决方案
这是无效的语法:
int scores = [n];
如果要定义scores
为所需大小的数组n
:
int scores[n];
此外,这并不符合您的预期:
int scores[i] = get_int("Please, enter the score: ");
这将创建一个名为scores
sizei
的数组,屏蔽之前定义的数组,并尝试使用单个值而不是值列表对其进行初始化。如果要分配给所需的现有数组:
scores[i] = get_int("Please, enter the score: ");
推荐阅读
- c# - C# 为特定字符后的第二个值排序字符串
- gradle - Java - 如何使用 gradle 和 Intelij 从源文件夹加载资源
- networkx - 图遍历 - 多条最短路径
- influxdb - InfluxDB 端口已在使用中
- google-apps-script - 如何检查appscript中的单元格是否为空?
- java - Android中具有自定义间隔的时间选择器
- oracle - Spring JPA + Boot +Sequence Generator - 权限不足
- google-sheets - 根据资产的已实现收益创建唯一的名称列表,从谷歌电子表格中的交易历史中提取
- c# - 如何将网格行高绑定到另一个类的静态常量
- reactjs - 如何在 ReactJS 中实现混合渲染