我不是大神,不过你这问题我能解答。
首先你要搞清楚“%”和“\”这两个含义,%后面紧跟的是数据类型(你就理解成说明符),d(D)是整数,f(F)是浮点数,s(S)是字符串,c(C)是字符。而\和字母组合,又能形成一些制表符、换行符之类的东西。
回答一:
第N个%f代表着第一个逗号后面,第N个数的数据类型。因为前面定义x、y、z是浮点型,则这里要输入的数是浮点型,所以三个都用%f。如果有个是int m,那就是
scanf("%f,%f,%f,%d",x,y,z,m);
回答二:
这时候%f就是说明你要输出的格式,也可以用%d
printf("%d",a);
这样它输出结果就是5了,用%f就是为了让它输出浮点型,保留小数点后面的。而\n,这告诉printf这个函数,当遇到\n时,要输出一个换行符(也就是到下一行头)。
回答三:
答案在二中。
PS:
楼主精神可嘉,不过教程没必要买的,搞一本C语言的书,使劲啃就行拉。其中可能会很乏味,但是这个过程是必须经过的。
问题一:
%f是指 以小数形式输出单、双精度实数,默认6位小数。程序中定义的x,y,z,a都是float型,即单精度实数;三个%f以先后顺序分别对应x,y,z,程序能自动判断;
问题二:
%f\n的意思,%f是输出类型为单精度实数,\n表示这个数输出完之后,回车换行;
问题三:
因为a为float型,且输出格式为%f,所以带着6位小数点。
1、%f 是占位符 f代表浮点数,准备填几个参数,就要有几个占位符,scanf()函数就是这样设计的,这是 c的基础库函数。
2、%f 同上,printf()参数格式与scanf()相同,\n 代表 回车
3、实数就是浮点数,为了区别整数,一般都会显示为 5.0……这样;根据你用的开发环境不同,默认保留位数会有变化。
%f是浮点数、十进制计数法;3个%f对应后面的xyz;\n是换行符
是,按照从左到右的顺序赋值给x,y,z; %f是对应浮点数(float--单精度, 或者 double--双精度);由&x,&y,&z的顺序确定,从左到右。
printf("%f\n",a); ===>按浮点数的格式输出a的值,然后换行(\n是指换行的意思)。
因为是浮点数。如果是printf("%d\n",a); ===>输出的就是5了。
%f是格式控制符。
问题1: scanf中%f规定了输入的类型,三个%f表示要获取三个浮点型的输入。 其会按照顺序依次输入给变量x,y,z
问题2: printf中%f表示输出的是一个浮点型变量,\n表示换行。
问题3: 输出的是一个浮点型变量,其有精度,所以为5后面很多0