鱼C论坛

 找回密码
 立即注册
查看: 727|回复: 4

[已解决]简单的if语句输出问题

[复制链接]
发表于 2022-2-25 11:05:35 | 显示全部楼层 |阅读模式

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

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

x
#include <stdio.h>
int main()
{
    int a;
    scanf("%lf",&a);//使用lf,始终只执行else语句,换成%d,或者%f就可以了
    if(a>90)
        printf("w的名字是\n");
    else
        printf("w不告诉你名字\n");
    return 0;
}
不是很明白为什么
请教一下关于定义数字变量有哪几种,有什么区别(就好像%d,%lf,%f)
最佳答案
2022-2-25 11:15:42
本帖最后由 大马强 于 2022-2-25 11:16 编辑

不同数据对应的格式化符是不一样的,常用搭配为
int        %d
char        %c
float        %f
double %lf

在printf函数中 float 可以用 %lf ,double 也可以用 %f
但是在scanf函数中double只能搭配 %lf, 搭配不对的话可能导致不会为变量赋值,该题中导致a并未赋值上,即为0

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-25 11:15:42 | 显示全部楼层    本楼为最佳答案   
本帖最后由 大马强 于 2022-2-25 11:16 编辑

不同数据对应的格式化符是不一样的,常用搭配为
int        %d
char        %c
float        %f
double %lf

在printf函数中 float 可以用 %lf ,double 也可以用 %f
但是在scanf函数中double只能搭配 %lf, 搭配不对的话可能导致不会为变量赋值,该题中导致a并未赋值上,即为0

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-2-25 12:17:22 | 显示全部楼层
scanf是格式输入语句
int对应          %d
long对应       %ld
float对应       %f
double对应    %lf
char对应        %c
……
格式输入语句,里面是什么格式就用什么格式,否则输入的数可能会出错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-25 21:04:46 | 显示全部楼层
大马强 发表于 2022-2-25 11:15
不同数据对应的格式化符是不一样的,常用搭配为
int        %d
char        %c

谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-25 21:06:01 | 显示全部楼层
yzzc 发表于 2022-2-25 12:17
scanf是格式输入语句
int对应          %d
long对应       %ld

谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 11:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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