打印

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

[复制链接]
3565|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
人生长苦|  楼主 | 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已经是地址了,前面不用加&

不加崩溃

使用特权

评论回复
5
lanmp| | 2014-3-19 14:50 | 只看该作者
不是lf?

使用特权

评论回复
6
dqgcs123| | 2014-3-19 14:51 | 只看该作者
本帖最后由 dqgcs123 于 2014-3-19 14:52 编辑
人生长苦 发表于 2014-3-19 14:43
不加崩溃


我弄错了,要加&
把f改成lf就ok了,不过原因不详

使用特权

评论回复
7
人生长苦|  楼主 | 2014-3-19 14:53 | 只看该作者
lanmp 发表于 2014-3-19 14:50
不是lf?

都试了,lf与f一样是这种结果,输出是0

使用特权

评论回复
8
人生长苦|  楼主 | 2014-3-19 14:56 | 只看该作者
本帖最后由 人生长苦 于 2014-3-19 15:00 编辑
dqgcs123 发表于 2014-3-19 14:51
我弄错了,要加&
把f改成lf就ok了,不过原因不详


还是一样的:

使用特权

评论回复
9
dqgcs123| | 2014-3-19 14:58 | 只看该作者
人生长苦 发表于 2014-3-19 14:56
还是一样的:


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

使用特权

评论回复
10
人生长苦|  楼主 | 2014-3-19 15:02 | 只看该作者
本帖最后由 人生长苦 于 2014-3-19 15:09 编辑


使用特权

评论回复
11
人生长苦|  楼主 | 2014-3-19 15:04 | 只看该作者
本帖最后由 人生长苦 于 2014-3-19 15:08 编辑
第一个行,后三个不行
把你的代码COPY一份到这里吧,谢谢,我的还是不行,我用的VS2010

使用特权

评论回复
12
lanmp| | 2014-3-19 15:13 | 只看该作者
初始化ar试试

使用特权

评论回复
13
人生长苦|  楼主 | 2014-3-19 15:23 | 只看该作者
lanmp 发表于 2014-3-19 15:13
初始化ar试试


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

使用特权

评论回复
14
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);
}


试下这个!!

使用特权

评论回复
15
人生长苦|  楼主 | 2014-3-19 15:40 | 只看该作者
smell-baby 发表于 2014-3-19 15:31
#include
int main(void)
{


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

使用特权

评论回复
16
smell-baby| | 2014-3-19 16:14 | 只看该作者
你是什么程序编写的啊?

使用特权

评论回复
17
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 数据类型不一样

使用特权

评论回复
18
人生长苦|  楼主 | 2014-3-19 16:27 | 只看该作者
smell-baby 发表于 2014-3-19 16:14
你是什么程序编写的啊?

VS2010

使用特权

评论回复
19
kumuhuakai| | 2014-3-19 16:31 | 只看该作者
人生长苦 发表于 2014-3-19 15:40
运行到这里不动了,没进行任何输出

这个程序明显不对,你第二个for语句i没有清零。然后双精度输出格式是lf,改一下应该可以了

使用特权

评论回复
20
人生长苦|  楼主 | 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

粉丝