鱼C论坛

 找回密码
 立即注册
查看: 5017|回复: 9

c语言问题

[复制链接]
发表于 2012-9-28 18:07:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

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

x
  1. #include<stdio.h>
  2. main(){
  3.         float x,z;
  4.         printf("输入摄氏温度:\n");
  5.         scanf("%d",&x);
  6.         z=(x-32)*5.0/9;
  7.         printf("华氏温度是:%d\n",&z);

  8. }
复制代码
大家帮看看为什么不对,,,还有,为什么在变量前加个&
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-28 18:10:39 | 显示全部楼层
我以为我是最差的 原来 我不是 呵呵
main(){“{ ”  这个位置错了 和下面那个对齐的
变量前加个& 是规定。。。
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-9-28 18:13:31 | 显示全部楼层

{  这个是随便的,好不拉~~
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-28 18:18:20 | 显示全部楼层
1986river 发表于 2012-9-28 18:13
{  这个是随便的,好不拉~~

double  换 float
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-28 18:21:42 | 显示全部楼层
首先 从你的意思猜想,应该是 最后输出z 而不是z的地址 所以你 printf("华氏温度是:%d\n",&z); 是错误的,而且应该用%f,应该 printf("华氏温度是:%f\n",z); 至于为什么要加&符号,这是因为要取地址,scanf("%d",&x);意思就是往告诉编译器往&x这个地址处以%d的方式,也就是从&x地址处往后写四个字节
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-28 18:22:46 | 显示全部楼层
输入输出参数错了吧,上面定义的是float,而输入和输出用的都是%d
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-9-28 18:29:55 | 显示全部楼层
拉登o睡觉 发表于 2012-9-28 18:21
首先 从你的意思猜想,应该是 最后输出z 而不是z的地址 所以你 printf("华氏温度是:%d\n",&z); 是错误的, ...

哦,,懂了,谢谢~
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-28 19:28:13 | 显示全部楼层
5楼正解。果然,2楼其实是最差的。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-29 09:31:31 | 显示全部楼层
#include<stdio.h>

void main()
{

        float x,z;
        printf( "输入摄氏温度: \n" );
        scanf("%f",&x);
        z = (x-32) * 5 / 9;
        printf( "华氏温度是:%f\n", z );

}

自己对照看吧 希望对你有帮助:lol
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-29 10:14:17 | 显示全部楼层
楼上几位都把printf的错误说出来了,不过我觉得 z=(x-32)*5.0/9这个有点问题,你想啊,你输入的摄氏温度怎么可能都大于32,如果小于32那不就是负的?正确的算法是:(x*9)/5+32。不知正不正确,请楼主验证下。
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-15 07:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表