c语言新手第二个scanf不执行的问题
- C/C++ code
#include "stdio.h"#include "stdlib.h"//float tol_traveled(float beg_od, float end_od);float reimbursment(float beg_od, float end_od);int main(){ float beg_od, end_od; printf("MILEAGE REIMBURSEMENT CALCULATOR\n"); printf("Enter beginning odometer reading=>"); scanf("&f", beg_od); printf("\n"); printf("Enter ending odometer reading=>"); scanf("&f", end_od); printf("\n"); printf("You traveled %.1f miles. At $0.35 per mile,\n", beg_od - end_od); printf("your reimbursment is %.2f.\n", reimbursment(beg_od, end_od)); system("PAUSE"); return 0;}/*float tol_traveled(float beg_od, float end_od){ return end_od - beg_od;}*/float reimbursment(float beg_od, float end_od){ return (beg_od - end_od) * 0.35;}运行到第二个scanf的时候直接跳过了然后最后输出的都是-0.0 -0.00。。。。。求解
[解决办法]
scanf("%f", &beg_od);
scanf("%f", &end_od);
[解决办法]
scanf("%f",&beg_od);
你的格式写粗了!
[解决办法]
[解决办法]
[解决办法]
printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方,而且通常编译还不出错。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。
[解决办法]
要多看书啊,你这个有些粗心啊,应该说要是写成这样,你的代码应该有警告啊,做程序首先不但要该对所有的错误,并且要改所有的警告啊。加油啊!书中自有黄金屋啊。