读书人

在Dev-C++下能通过编译,但看不到结果.

发布时间: 2012-02-10 21:27:42 作者: rapoo

在Dev-C++下能通过编译,但看不到结果....
#include <stdio.h>

int main()
{
int i,n,k;

k=0;

printf( "请输入一个不多于5位数的整数\n ");

scanf( "%d ",&n);

if(n <0)
{
printf( "请输入正整数!\n ");

return 0; }


for(i=1;i <n;i*=10)

if(n/i> =1)

k++;

printf( "\n这是一个%d位数 ",k);

return 0;

getchar();
}




[解决办法]
如下:

#include <stdio.h>

int main()
{
int i,n,k;

k=0;

printf( "请输入一个不多于5位数的整数\n ");

scanf( "%d ",&n);

getchar(); //扔掉后面的回车

if(n <0)
{
printf( "请输入正整数!\n ");

return 0; }


for(i=1;i <n;i*=10)

if(n/i> =1)

k++;

printf( "\n这是一个%d位数 ",k);

return 0;

getchar();
}

[解决办法]
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
int i,n,k;

k=0;

printf( "请输入一个不多于5位数的整数\n ");

scanf( "%d ",&n);

if(n <0)
{
printf( "请输入正整数!\n ");

return 0;
}


for(i=1;i <n;i*=10)

if(n/i> =1)
k++;

printf( "\n这是一个%d位数 ",k);
getchar();
system( "PAUSE ");
return EXIT_SUCCESS;
}
[解决办法]
在“printf( "请输入一个不多于5位数的整数\n ");scanf( "%d ",&n);”接受字符后,键盘缓冲区中留了一个字符,当程序运行到最后”getchar()“时,程序自动接受了这个字符,所以会退出来。
解决方法是在加一个”getchar()“,或是用”system( "pause ")“。如楼上的。

[解决办法]
加这个system( "pause ");
[解决办法]
今天刚发现的一个问题!!
  你可以用goto语句!!
loop:printf( "请输入一个不多于5位数的整数\n ");

scanf( "%d ",&n);
......
if(n <0)
{
printf( "请输入正整数!\n ");

return 0;
  goto loop;
......

读书人网 >C语言

热点推荐