这段代码错在哪里?为什么输出全是0?

[复制链接]
4886|31
 楼主| 人生长苦 发表于 2014-3-19 14:08 | 显示全部楼层 |阅读模式
本帖最后由 人生长苦 于 2014-3-19 14:17 编辑


scanf那句错了吗?(调了几个小时了,只是把四个浮点数输入数组,到现在还没成功)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 人生长苦 发表于 2014-3-19 14:20 | 显示全部楼层
scanf("%f %f %f %f",&ar[0],&ar[1],&ar[2],&ar[3]);
%f加个空格也一样是这种输出
dqgcs123 发表于 2014-3-19 14:37 | 显示全部楼层
本帖最后由 dqgcs123 于 2014-3-19 14:48 编辑

XXX
 楼主| 人生长苦 发表于 2014-3-19 14:43 | 显示全部楼层
dqgcs123 发表于 2014-3-19 14:37
ar已经是地址了,前面不用加&

不加崩溃

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
lanmp 发表于 2014-3-19 14:50 | 显示全部楼层
不是lf?
dqgcs123 发表于 2014-3-19 14:51 | 显示全部楼层
本帖最后由 dqgcs123 于 2014-3-19 14:52 编辑
人生长苦 发表于 2014-3-19 14:43
不加崩溃


我弄错了,要加&
把f改成lf就ok了,不过原因不详
 楼主| 人生长苦 发表于 2014-3-19 14:53 | 显示全部楼层
lanmp 发表于 2014-3-19 14:50
不是lf?

都试了,lf与f一样是这种结果,输出是0
 楼主| 人生长苦 发表于 2014-3-19 14:56 | 显示全部楼层
本帖最后由 人生长苦 于 2014-3-19 15:00 编辑
dqgcs123 发表于 2014-3-19 14:51
我弄错了,要加&
把f改成lf就ok了,不过原因不详


还是一样的:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
dqgcs123 发表于 2014-3-19 14:58 | 显示全部楼层
人生长苦 发表于 2014-3-19 14:56
还是一样的:


我的可以啊,你的可能是VS版本不一样,你先全部改成lf,然后再把scanf改成scanf_s试试

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 人生长苦 发表于 2014-3-19 15:02 | 显示全部楼层
本帖最后由 人生长苦 于 2014-3-19 15:09 编辑


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 人生长苦 发表于 2014-3-19 15:04 | 显示全部楼层
本帖最后由 人生长苦 于 2014-3-19 15:08 编辑
第一个行,后三个不行
把你的代码COPY一份到这里吧,谢谢,我的还是不行,我用的VS2010

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
lanmp 发表于 2014-3-19 15:13 | 显示全部楼层
初始化ar试试
 楼主| 人生长苦 发表于 2014-3-19 15:23 | 显示全部楼层
lanmp 发表于 2014-3-19 15:13
初始化ar试试


这样了还不行,只有第一个数是对的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
smell-baby 发表于 2014-3-19 15:31 | 显示全部楼层
#include<stdio.h>
int main(void)
{
int i=0;
double ar[4];
printf("\n请输入四个数")        ;
for(i;i<4;i++) scanf("%f",&ar[i]);       
for(i;i<4;i++) printf ("%f",ar[1])        ;
while(1);
}


试下这个!!
 楼主| 人生长苦 发表于 2014-3-19 15:40 | 显示全部楼层
smell-baby 发表于 2014-3-19 15:31
#include
int main(void)
{


运行到这里不动了,没进行任何输出

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
smell-baby 发表于 2014-3-19 16:14 | 显示全部楼层
你是什么程序编写的啊?
vavcm 发表于 2014-3-19 16:17 | 显示全部楼层
本帖最后由 vavcm 于 2014-3-19 16:19 编辑

#include <stdio.h>
float ar[4];
int main(int argc, char *argv[])
{
  int i = 0;
  printf("请输入四个数(空格分开):\n");
  scanf("%f%f%f%f",&ar[0],&ar[1],&ar[2],&ar[3]);
  for(i = 0;i<4;i++)
  {
        printf("%f\n",ar);
        }
  system("PAUSE");        
  return 0;
}



double 改成 float 数据类型不一样
 楼主| 人生长苦 发表于 2014-3-19 16:27 | 显示全部楼层
smell-baby 发表于 2014-3-19 16:14
你是什么程序编写的啊?

VS2010
kumuhuakai 发表于 2014-3-19 16:31 | 显示全部楼层
人生长苦 发表于 2014-3-19 15:40
运行到这里不动了,没进行任何输出

这个程序明显不对,你第二个for语句i没有清零。然后双精度输出格式是lf,改一下应该可以了
 楼主| 人生长苦 发表于 2014-3-19 16:33 | 显示全部楼层
vavcm 发表于 2014-3-19 16:17
#include
float ar[4];
int main(int argc, char *argv[])


VS2010 感觉比VC6好用多了,从不会死机退出,超可靠的,不过建立的文件只有CPP
但是以前一直照C写没问题的,不知道是不是这个原因(CPP)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

217

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部