#include<stdio.h>
int main(){int n, sum=0;
printf("Please input n:"); scanf("%d",&n); if(n>=0) for(n=0;n<=2*n;++n) sum+=n;else for(n=0;n>=2*n;++(2*n)) sum+=n;printf("%d",sum);return 0;}这个程序哪里错了?
printf("Please input n:"); scanf("%d",&n); if(n>=0) for(n=0;n<=2*n;++n)//死循环 sum+=n;else for(n=0;n>=2*n;++(2*n)) sum+=n;printf("%d",sum);return 0;}这个程序哪里错了?
1。2*n不是基本类型或指针类型,不能执行自加运算
2。当输入的n>=0时,由于循环中n<=2n恒成立,死循环;
3.当n<0时,n=0恒成立,死循环;
那要看你的要求了.再定义个变量.
int main(){int n, sum=0,i;
printf("Please input n:"); scanf("%d",&n); if(n>=0) for(i=0;i<=2*n;++i) sum+=n;else for(i=0;n>=2*i;) {sum+=n;i=2*(++i);}printf("%d",sum);return 0;}