我编的C++程序编译是没有错误的,但是在运行时怎么输入数据后没有结果显示呢?

#include<stdio.h>
void main()
{
long fac(int n);
int n;
long fact=0;
printf("please enter a integer number:\n");
scanf("%d\n",&n);
fact=fac(n);
printf("%d!=%ld\n",n,fact);

}
long fact(int n)
{
int i;
long fact=1;
for(i=1;i<=n;i++)
fac=fac*1;
return(fac);

}

第1个回答  2012-03-21
首先你是C语言不是C++;//fac和fact弄乱了。写函数名和变量名注意尽量区分
long fac(int n)
{
int i;
long fac=1;
for(i=1;i<=n;i++)
fac=fac*1;
return(fac);
}
第2个回答  2012-03-21
//fac和fact弄乱了。写函数名和变量名注意尽量区分
long fac(int n)
{
int i;
long fac=1;
for(i=1;i<=n;i++)
fac=fac*1;
return(fac);
}
第3个回答  2012-03-21
long fact(int n) 那你后面的fac=fac*1; fac是什么? main里面不是全局变量吧?
程序有错误,编译不可能会通过啊
第4个回答  2012-03-21
首先你是C语言不是C++;
你的函数是FAC,不是FACT
FAC=FAC*1改为FACT=FACT*1
第5个回答  2012-03-21
例如你输入10
那么你显示的应该是 10 10啊本回答被网友采纳

我用Dev-C++编程,程序代码没有错,为什呢运行后不显示结果?
又一个悲剧的,翻译以下就是:runtime_error(运行时错误)程序一切ok 如果是win7专业版或旗舰版64位系统,找到目录下的exe文件,右键--属性--兼容性--以xp兼容模式运行;

C++程序编译没有问题,点击运行或者CTRL+F5无任何反应
要是你已经调出来输出窗口了,还没反应的话,你那在确定vc是否这在编译,看软件左下方的状态栏,是否正显示“正在编译中……”,你可能会说这么短的程序还需要编译那么久吗!但是这种情况是常见的,也就是你的软件编译文件路径没设置好导致的。

我编了一个c++程序,语法没有错误,但是不能执行,每次那个黑框就弹出一...
这是因为你生成的程序是命令行方式的,不是windows的GUI方式. 命令行方式在"命令提示符"环境下运行才正常,用"开始"-"运行"或在集成调试环境下运行要加getch();或system("pause");让它暂停以便观察."开始"-"运行"-, 输入cmd命令即可进入命令行方式....

C++ 为什么我运行这组代码 没错,但是不出结果,会无限的循环下去?
50<=val<=100;相当于(50<=val)<=100;c++对表达式的编译顺序是从左到右(相同优先级下)所以先判断50<=val,结果为真,表达式值为1,再判断1<=100;结果还是为真,也就是说判断条件恒为真,所以,你的循环永远无法结束

...我编的C++程序在自己电脑上能正常运行,但编译后挂在后台linux系统下...
除非是两台机器一模一样,操作系统也一样,编译系统也相同,这样的机器间代码才可以直接重用。你的程序出现异常:一、你要保证你执行的程序是在当前机器上编译通过的才可以 二、要注意机器的CPU类型:64位机和32位机的差异。三、详细检查、调试自己程序中的源代码,是不是存在BUG ...

为什么编译正确的c++程序在运行时会停止工作
编译只是保证没有语法错误,但是不能保证你的程序的算法没有错误,如果你的程序中有比较严重的Bug,如果说访问了系统保护的内存,出于保护,windows会中止你的程序,或是抛出一个异常,如果异常没有被捕获并加以处理,程序也会中止,当然,这时你也有机会用调试工具去debug。这种运行期的错误是需要程序员去...

visual C++问题,编译运行都没有错,但弹不出窗
程序已经运行完了是不会停留在DOS窗口的,在printf("hello world")后面加一句scanf("%d",&i);当然i要事先定义

为什么有的C程序编译没错但运行时没有结果
没有结果?是不是一闪而过?如果你用的是win-TC编译器的话,那就在最后printf(" %f ",t);后面添加getch();如果是Dev C++的话,那就添加System("pause");

这个程序在dev c++里编译正确了 可是为什么运行后显示不出结果哪?是...
做程序仔细一点儿,看你的for循环第一条语句z==100-j-i;怎么能是双等号呢;单等号才是赋值的意思

...输入数据,回车后命令行界面就消失了,没有程序结果
你仔细检查你编写的程序!肯定是你的程序出问题了,比如:你在程序中动态分配了内存,使用完后未释放内存,或者在分配内存之前没有检查是否能够分配,就会将指针指向一个无效的区域。还有数组越界检查等!

相似回答