为了账号安全,请及时绑定邮箱和手机立即绑定

我不明白为什么要在%f后加%c,求大神帮忙看看

我不明白为什么要在%f后加%c,求大神帮忙看看

C
野比大雄 2016-06-15 13:14:05
#include <stdio.h>int main(){    int age = 18; float height = 1.85; char unit = 'm'; printf("小明今年%d岁\n", age); printf("小明身高%f%c\n", height, unit); printf("小明现在在慕课网上学习IT技术");  return 0;}这是正确的,我不明白为什么要在%f后加%c,还有,“小明现在在慕课网”这句话前面不需要加%c吗?
查看完整描述

7 回答

已采纳
?
OuBa

TA贡献6条经验 获得超5个赞

#include <stdio.h>
int main()
{
    int age = 18;
    float height = 1.85;
    char unit = 'm';
    printf("小明今年%d岁\n", age);
    printf("小明身高%f%c\n", height, unit); //%f对应height %c对应unit
    printf("小明现在在慕课网上学习IT技术"); 
    return 0;
}
//你也可以这样写,效果一模一样
#include <stdio.h>
int main()
{
    int age = 18;
    float height = 1.85;
    printf("小明今年%d岁\n", age);
    printf("小明身高%fm\n", height); 
    printf("小明现在在慕课网上学习IT技术"); 
    return 0;
}
//关键是你应该仔细的看一下printf格式输出。%c %f %d %2d %ld %s 等等是干嘛的,他们对应的类型应该是什么样的


查看完整回答
2 反对 回复 2016-06-15
?
amaranth24

TA贡献1条经验 获得超5个赞

“小明身高1.85m”这段话,1.85是小数,格式化输出为%f ,m是字符,格式化输出为%c

所以组合起来是%f%c,你不可能输入%fm,也不可能输入1.85%c

小明现在在慕课网是直接常量,没必要说明,非要格式化输出也行“%s","小明现在在慕课网"

查看完整回答
5 反对 回复 2016-06-15
?
小半边呆

TA贡献4条经验 获得超6个赞


char unit = 'm';
printf("小明身高%f%c\n", height, unit); //这句代码是输出两个变量height和unit的值 第一个是浮点型,第二个是字符型,所以咯。

输出的结果应该是:小明身高1.85m

其中的‘m’就是unit的值,%c对应unit

查看完整回答
1 反对 回复 2016-07-18
?
慕丝8635432

TA贡献2条经验 获得超2个赞

因为你这是两句,后面有两个,height,unit

查看完整回答
1 反对 回复 2016-06-16
?
繁华如梦倾城殇

TA贡献23条经验 获得超6个赞

字符类型,不同字符类型的输出对应的也不同:%f 浮点数;%c 单个字符

查看完整回答
1 反对 回复 2016-06-15
?
光荣交白卷哥

TA贡献6条经验 获得超0个赞

后面输入几个数字,那就用几个占位符,这样使用不是很正常嘛?

查看完整回答
反对 回复 2016-06-15
?
wwpbjing

TA贡献20条经验 获得超5个赞

C语言格式化输出
%d 十进制有符号整数
%c 单个字符
%f 浮点数
%s 字符串
printf("小明今年%d岁\n", age);
%d对应age(整数)
printf("小明身高%f%c\n", height, unit);
%f对应height(单精度)
%c对应unit(字符)

初学者指针搞不清楚情有可原,格式化输出不懂就真是书读得不细了

查看完整回答
反对 回复 2016-06-15
  • 7 回答
  • 0 关注
  • 2041 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信