C 调用函数的二维数组的和
我试图创建一个程序,通过调用一个名为sum的函数来查找单个二维数组的和。但是我遇到了一个错误,丢失了一个{但是我不确定这是怎么回事C 调用函数的二维数组的和,c,C,我试图创建一个程序,通过调用一个名为sum的函数来查找单个二维数组的和。但是我遇到了一个错误,丢失了一个{但是我不确定这是怎么回事 #include <stdio.h> int sum(int s[3][4]) int main(int argc, char *argv[]) { int s[3][4], c, r, sum = 0; for (r = 0; r <= 2; r++) { for (c = 0; c <= 3; c++) {
#include <stdio.h>
int sum(int s[3][4])
int main(int argc, char *argv[])
{
int s[3][4], c, r, sum = 0;
for (r = 0; r <= 2; r++)
{
for (c = 0; c <= 3; c++)
{
printf("Enter value for s[%d][%d]: ", r, c);
scanf("%d", &s[r][c]);
}
}
printf("The sum is: %d\n", sum(s[3][4]);
return 0;
}
int sum (int s[3][4])
{
for (r = 0; r <= 2; r++)
{
for (c = 0; c <= 3; c++)
{
sum = s[r][c] + sum;
}
}
}
#包括
整数和(整数s[3][4])
int main(int argc,char*argv[])
{
int s[3][4],c,r,和=0;
对于(r=0;r您在此处缺少一个尾随;
:
int sum(int s[3][4])
首先,您不能将sum
用作函数名,因为它是一个预定义的函数。您的代码有一些小的语法错误。下面是一些固定的代码
#include <stdio.h>
int sumx(int s[3][4]);
int main(void)
{
int c, r, sum = 0;
int s[3][4]; //declared inside the main
for (r = 0; r <= 2; r++)
{
for (c = 0; c <= 3; c++)
{
printf("Enter value for s[%d][%d]: ", r, c);
scanf("%d", &s[r][c]);
}
}
printf("The sum is: %d\n", sumx(s)); //pass to the function because now it is not global;
return 0;
}
int sumx(int s[3][4])
{
int sum = 0; //sum is initialized to zero otherwise it will take garbage value
for (int r = 0; r <= 2; r++)
{
for (int c = 0; c <= 3; c++)
{
sum = s[r][c] + sum;
}
}
return sum;
}
#包括
int sumx(int s[3][4]);
内部主(空)
{
int c,r,和=0;
int s[3][4];//在主
对于(r=0;r),函数声明和main()的定义之间缺少分号
。您的编译器应该将您指向有问题的位置附近。仔细阅读邮件,然后检查代码。@JonathanLeffler还有很多错误,我给出了一个列出所有错误的答案。如果您可以重新打开,我可以发布。@JonathanLeffler是的,我面临的问题更多,只是缺少了一个分号,我似乎找不到完整的问题为什么程序不能运行的问题。@SagarV:你是对的,除了函数声明后和int main(…)
之前缺少分号之外,还有许多其他问题。还有一些风格错误的编码选择(for(r=0;r)不是有一个“像输入错误一样接近”的原因吗?我们真的需要另一个吗“缺少分号"问题?@Olaf:嘿,确实有!!我投票决定关闭它,但我留下这个答案,因为它实际上可能会有帮助。谢谢-1!问题是在某些情况下,这个问题不会有答案。手动删除投票是很少见的。在这里发表评论会更好。@Olaf:这有点有趣,我想我想99%的用户永远不会读到这个“Roomba”的东西。是的,一旦你有了某个代表,应该有一些介绍。哪个标准预定义了一个函数sum()
?这不是C标准或POSIX,好吧。@jonathanLeffler代码中有很多问题,不仅仅是分号。@MohitYadav,你的答案没有涵盖所有问题。请提供一个标准的参考,其中指定了一个求和
函数。我们不是“给我一个正确的代码”服务。处理语法错误和其他编译器诊断等是学习如何编程的一部分。你没有帮助OP只向他提供代码。顺便说一句:你在代码中定义sum
你自己,而不是你的初始语句!