简单的if语句输出问题
#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:16 编辑
不同数据对应的格式化符是不一样的,常用搭配为
int %d
char %c
float %f
double %lf
在printf函数中 float 可以用 %lf ,double 也可以用 %f
但是在scanf函数中double只能搭配 %lf, 搭配不对的话可能导致不会为变量赋值,该题中导致a并未赋值上,即为0
scanf是格式输入语句
int对应 %d
long对应 %ld
float对应 %f
double对应 %lf
char对应 %c
……
格式输入语句,里面是什么格式就用什么格式,否则输入的数可能会出错 大马强 发表于 2022-2-25 11:15
不同数据对应的格式化符是不一样的,常用搭配为
int %d
char %c
谢谢啦 yzzc 发表于 2022-2-25 12:17
scanf是格式输入语句
int对应 %d
long对应 %ld
谢谢啦
页:
[1]