C语言中scanf的简单问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 15:30:25
#include <stdio.h>

int main()
{
float g;
scanf("%*f,%f",&g);
return 0;
}

通过编译后,输入1.0,2.0期望2.0被赋给变量g,却导致程序崩溃,是怎么回事?

这样写:去掉逗号
int main()
{
float g;
scanf("%*f%f",&g);
return 0;
}

#include "stdio.h"
int main()
{
float g;
scanf("%*f,%f",&g);
printf("%f",g);
return 0;

}

程序运行没有问题。输入 1.0,2.0 2.0被赋给变量g

程序要有输出吧

scanf("%*f,%f",&g);
输入1.0,2.0
没问题,结果为 2.0

另外,scanf()是一个非常复杂的函数, 个人觉得,它是输入输出中最麻烦的, 有时间,多弄弄,找到其原理 怎么读入数据,怎么匹配...