本篇文章给大家谈谈c语言很大的负数,以及C语言负数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、c语言 double输出一个很大的负数2、为什么总输出一个很大的负数 C语言3、c语言 结果 出现巨大的负数
c语言 double输出一个很大的负数
可能是楼主换成double的同时,
忘记换格式符了
float的格式符是%f
而double的格式符是%lf
所以程序应该改成
#include
stdio.h
main()
{
double
x,y;
printf(“请输入x的值\n”);
scanf
(“%lf
“,x);
if
(x1)
y=x;
if
(x=1×10)
y=x*2-1;
else
y=x*3-11;
printf(“y
=%lf\
n”,y);
}
为什么总输出一个很大的负数 C语言
修改成scanf (“%lf”,i);即可
原因:scanf用法不对,分析如下
1,代码中有一点错误 scanf (“i=%1f”,i);
原型是int scanf(constchar*format,…);
format为格式说明字符串,这个跟printf里面的不同,不能有多余杂质
故正确用法是scanf (“%1f”,i);
特别注意的地方是,浮点型不能指点位数
进一步修改为scanf (“%f”,i);
到这部还不一定正确,需要注意第2点。
2,还有跟你处的电脑环境的标准库的具体scanf实现有关,有些平台只支持%lf输入浮点型,你如果是VC环境,改成scanf (“%lf”,i);试下。
以后此问题可以加scanf的返回值打印调试
if(scanf (“%lf”,i) != 1){
//打印错误提示信息
}
scanf的返回值,表示正确给变量赋值的个数
比如
scanf(“%d%d”,a,b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF。
c语言 结果 出现巨大的负数
程序没有问题,你这个执行结果有点莫名其妙
给你个建议,mlt函数里c没必要定义为数组,就一个整型变量就够了:
int mlt (int i,int j,int a[N][N],int b[N][N] )
{
int k,c=0;
for(k=0;kN;k++)
c += a[i][k]*b[k][j];
return c;
}
c语言很大的负数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于C语言负数、c语言很大的负数的信息别忘了在本站进行查找喔。