C中的和不能解
好的,我写了这个程序并编译了它。一切正常,但当我在Windows7中运行它时,得到一个错误c0000005。我不知道为什么 我的课程概述 我想让这个程序给我这个数字的总和,取决于给定的“n”:1-1x3+1x3x5-…+-1x3x5x…x(2*n-1) 请帮帮我,我是个乞丐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: ");
#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。我现在明白了。再次感谢你!