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

#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吗?

野比大雄
浏览 2042回答 7
7回答

OuBa

#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 等等是干嘛的,他们对应的类型应该是什么样的

amaranth24

“小明身高1.85m”这段话,1.85是小数,格式化输出为%f ,m是字符,格式化输出为%c所以组合起来是%f%c,你不可能输入%fm,也不可能输入1.85%c小明现在在慕课网是直接常量,没必要说明,非要格式化输出也行“%s","小明现在在慕课网"

小半边呆

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

慕丝8635432

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

繁华如梦倾城殇

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

光荣交白卷哥

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

wwpbjing

C语言格式化输出%d 十进制有符号整数%c 单个字符%f 浮点数%s 字符串printf("小明今年%d岁\n", age);%d对应age(整数)printf("小明身高%f%c\n", height, unit);%f对应height(单精度)%c对应unit(字符)初学者指针搞不清楚情有可原,格式化输出不懂就真是书读得不细了
打开App,查看更多内容
随时随地看视频慕课网APP