严凯 发表于 2020-11-19 09:30:47

超级简单

#include<stdio.h>
int main()
{
        int j;
double i;
i=getchar();
for(j=0;j<3;j++)
{
i=i/2;
      printf("%.2f\n", i);
}
                return 0;
}

//我这个是像看看i除2,每除一次,看看i的值,为什么我这个打印有问题(我自我感觉没毛病)

头发 发表于 2020-11-19 09:32:47

double 要用lf输出吧

昨非 发表于 2020-11-19 09:39:02

https://blog.csdn.net/meme_yun/article/details/88586815

baige 发表于 2020-11-19 09:51:31

#include<stdio.h>
int main() {
        int j;
        double i;
        i=getchar();
        printf("'%c' = %.2f\n",(int)i,i);
        for(j=0; j<3; j++) {
                i=i/2;
                printf("%.2f\n", i);
        }
        return 0;
}

严凯 发表于 2020-11-19 09:56:18

头发 发表于 2020-11-19 09:32
double 要用lf输出吧

不是这样的啊,你去试试,无论你输入什么数字,得到的结果多少一样的。。。。

严凯 发表于 2020-11-19 09:57:48

baige 发表于 2020-11-19 09:51


不行啊,输出都是一样的数字,永远都是25 12.5 6.25

baige 发表于 2020-11-19 10:02:51

getchar();输入的是字符,也就是i获取的是第一个字符的ascii码

baige 发表于 2020-11-19 10:03:46

#include<stdio.h>
int main() {
      int j;
      double i;
      scanf("%lf",&i);

      for(j=0; j<3; j++) {
                i=i/2;
                printf("%.2f\n", i);
      }
      return 0;
}
你应该是想要这样

baige 发表于 2020-11-19 10:04:41

double 输入用这样
scanf("%lf",&i);
getchar获取的是一个字符如你输入13,14之类的获取的是1的ascii码

严凯 发表于 2020-11-19 12:54:07

baige 发表于 2020-11-19 09:51


我想问问你,哪个getchar()获取字符,是不是都是获取字符的ascill值?

baige 发表于 2020-11-19 19:14:54

https://fishc.com.cn/forum.php?mod=viewthread&tid=68661&highlight=getchar
页: [1]
查看完整版本: 超级简单