编程论坛's Archiver

媈媈碴滓 发表于 2008-5-12 19:56

请教大虾们

#include"stdio.h"
main()
{
int sum=0,c=1,n;
scanf("%d\n",&n);
while(c<=n)
{
sum=sum+c;
c++;
}
printf("%d\n",sum);
return n;
getch();
}
为什么提示说没有错误,但运行的时候就是运行不出来呢?
请帮我改进下
拜托大虾啦

zjl138 发表于 2008-5-12 20:11

#include"stdio.h"
int main()
{
int sum=0,c=1,n;
scanf("%d\n",&n);
while(c<=n)
{
sum=sum+c;
c++;
}
printf("%d\n",sum);
getch();
return 0;
}

媈媈碴滓 发表于 2008-5-12 22:22

回复 2# 的帖子

为什么是返回0啊?

jiang5495 发表于 2008-5-12 22:27

have a try

基实return那语句完可以不要!
也能有结果;
而之所以用0,而不用n,我想可能因为系统默认为int ,
而0表示假,n表示真,返回0,能使程序结束吧!
不是很确定,仅供讨论

走一圈 发表于 2008-5-12 22:47

#include"stdio.h"
int main(void)
{
int sum=0,c=1,n;
scanf("%d",&n);//输入不需要换行 '\n'
while(c<=n)
{
sum=sum+c;
c++;
}
printf("%d\n",sum);
}

[[it] 本帖最后由 走一圈 于 2008-5-12 22:59 编辑 [/it]]

死了都要C 发表于 2008-5-12 22:52

#include<stdio.h>

int main(void)
{
   int sum=0, c=1, n;

   scanf("%d",&n);

   while(c<=n) sum += c++ ;

   printf("%d\n",sum);

   return 0 ;
}

CMD下可查看结果

走一圈 发表于 2008-5-12 23:00

[quote][bo]以下是引用 [un]死了都要C[/un] 在 2008-5-12 22:52 的发言:[/bo]

#include

int main(void)
{
   int sum=0, c=1, n;

   scanf("%d",&n);

   while(c [/quote]
你这边的return 0;效果是释放内存空间?
谢谢 知道了 9#

[[it] 本帖最后由 走一圈 于 2008-5-12 23:06 编辑 [/it]]

光影门徒 发表于 2008-5-12 23:01

#include"stdio.h"
#include"conio.h"
int main()
{
int sum=0,c=1,n;
scanf("%d",&n);
while(c<=n)
{
sum=sum+c;
c++;
}
printf("%d\n",sum);
return n;
getch();
}
由于你的输入函数scanf()内有一个换行,当你输入一个数字,按回车换行后,程序会等待你继续输入后再运行。

死了都要C 发表于 2008-5-12 23:02

NO````程序结束``将MAIN程序运行完毕的状态(一般指正常结束<0>或非正常结束<其他值>)
返回给操作系统``

在CMD下可以用命令: echo %errorlevel% 查看``

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.