C中的和不能解

C中的和不能解,c,sum,C,Sum,好的,我写了这个程序并编译了它。一切正常,但当我在Windows7中运行它时,得到一个错误c0000005。我不知道为什么 我的课程概述 我想让这个程序给我这个数字的总和,取决于给定的“n”:1-1x3+1x3x5-…+-1x3x5x…x(2*n-1) 请帮帮我,我是个乞丐 #include <stdio.h> #include <conio.h> int main() { int n, sum=0, i, signum; printf("Give n: ");

好的,我写了这个程序并编译了它。一切正常,但当我在Windows7中运行它时,得到一个错误c0000005。我不知道为什么

我的课程概述 我想让这个程序给我这个数字的总和,取决于给定的“n”:1-1x3+1x3x5-…+-1x3x5x…x(2*n-1)

请帮帮我,我是个乞丐

#include <stdio.h>
#include <conio.h>

int main()
{
  int n, sum=0, i, signum;
  printf("Give n: ");
  scanf("%d", n);
  for(i=1, signum=1; i-(2*n-1); sum+=(signum*(sum*i)),i+2,signum=-signum)
    ;
  printf("Sum is: %d", sum);
  getch();
  return 0;
}
#包括
#包括
int main()
{
int n,和=0,i,符号;
printf(“给出n:”);
scanf(“%d”,n);
对于(i=1,signum=1;i-(2*n-1);sum+=(signum*(sum*i)),i+2,signum=-signum)
;
printf(“总和为:%d”,总和);
getch();
返回0;
}

您需要将地址传递给
scanf

scanf("%d", &n);

此外,您的
for
循环无效。条件
i-(2*n-1)
从未更改,因为
i
n
从未更改。

scanf写入错误

scanf("%d",&n);

而且,循环是无限的

您可以这样编写代码,我认为这要清楚得多

#include <stdio.h>

int main()
{
    int i, n, sum = 1, term = 1;
    printf("Give n: ");
    scanf("%d", &n);             // address of n
    for (i = 2; i <= n; ++i) {   // simple for loop
        term *= -(2 * i - 1);    // multiply by previous and flip sign
        sum += term;
    }
    printf("Sum is: %d", sum);
    return 0;
}
#包括
int main()
{
整数i,n,和=1,项=1;
printf(“给出n:”);
scanf(“%d”,&n);//n的地址

对于(i=2;我尝试将
i+2
更改为
i+=2
一个简单的建议,避免将两条指令写在同一行中,否则您的老师会讨厌您犯的“错误c0000005”我试着用I+=2来改变I+2,但它给了我同样的错误。我的老师让我这样写for循环,这让我发疯:(你试过调试器吗?@haccks我不知道你的意思;)谢谢你发现了。非常感谢@tomfenich。我现在明白了。再次感谢你!