求解决C程序运行问题
为什么运行错误,不知道是哪里出问题? 本帖最后由 TyCk 于 2018-10-6 12:23 编辑
最后一行
printf("",p/n)
敢问,p/n是什么变量{:10_245:}
变量这里用p的呀……
>>>>>>>>>>>>>>>>>>>>>>>>>>>
好吧,不是这个原因了,是因为scanf的输入要和给出的格式保持一致。
也就是有逗号的话,要打上逗号,不要用空格代替,否则输入的值会出错。{:10_256:} 那么是p/n不对嘛
还有一个问题就是每次调试完程序以后,如果返回来重新修改程序进行编译会出现LINK : fatal error LNK1168: cannot open Debug/xiti5_8.exe for writing这个错误,然后就得重新打开vc6.0,太麻烦,耗时间,对于这个问题你怎么看 本帖最后由 TyCk 于 2018-10-6 12:25 编辑
LiZhuo 发表于 2018-10-6 11:37
还有一个问题就是每次调试完程序以后,如果返回来重新修改程序进行编译会出现LINK : fatal error LNK1168:...
咳咳,经过一番调试,总算发现了问题所在,十分尴尬……
之所以会不正确,是因为用scanf接收输入的时候,楼主是不是忘记打逗号了,如按照你的代码来看,应该输入"2,3",而不能输入"2 3",不然,会导致m的值不正确,可以实际测试下。
总而言之,问题其实就是scanf的格式要统一。
至于,你说的LINK : fatal error LNK1168: cannot open Debug/xiti5_8.exe for writing这个错误,不出意外的话,是因为没有关闭本次运行的命令窗口,换句话说,其实也就是当前程序没有彻底关闭,还在运行中,当然就不能重新写入,生成新的程序。 好吧 老哥, 你代码没问题 估计键入的习惯不同 ,楼上说滴很清楚 scanf("%d,%d",&n,&m); 你给的键入方式n,m 你估计是按错 n m了 按的空格,换成一般键入习惯的话 scanf("%d %d",&n,&m); 就行了
#include <stdio.h>
int main()
{
int p ,r,m ,n ,temp;
printf("enter two number n,m:");
scanf("%d %d",&n,&m);
if(n<m)
{
temp = n;
n = m;
m = temp;
}
p = n*m;
while(m)
{
r = n%m;
n = m;
m = r;
printf("m的值为: %dn的值为 :%d \n",m,n);
}
printf("最大公约数为 : %d\n",n);
printf("最小公倍数为 : %d\n",p/n);
return 0;
} 运行完全正常,没有问题
页:
[1]