首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

为何printf和scanf 输入和输出值不一样

2013-09-18 
为什么printf和scanf 输入和输出值不一样#include stdio.hint main(void){float weightprintf(你的体

为什么printf和scanf 输入和输出值不一样
#include <stdio.h>
int main(void)
{
    float weight;

    printf("你的体重:");
    getchar();
    scanf("%f",&weight);
    printf("你的体重是%f",weight);
    getchar();
    getchar();
    return 0;
}
这段代码有问题吗?为什么输入的值和输出不一样呢?输入105,输出显示确是5.000000呢?求解答
[解决办法]
int main(void)
 {
     float weight;

     printf("你的体重:");
     getchar();             //////这行代码获取1个字符,把1取走了。
     scanf("%f",&weight);   //////这行代码获取05
     printf("你的体重是%f",weight);
     getchar();
     getchar();
     return 0;
 }
[解决办法]
第一点:如果遇到程序运行结果与自己想要的不一样,可以加断点进行跟踪。
第二点:其实,保持控制窗口的函数很多,不一定要用getchar(),例如:
#include <stdio.h>
#include <stdlib.h>    //引入system(char *c)

int main(void)
{
    float fWeight = 0.0;

    printf("请输入您的体重:");
    scanf("%f", &fWeight);
    printf("您的体重为:%f\n", fWeight);

    system("pause");
    return 0;

热点排行