生如夏花133 发表于 2019-9-16 15:19:22

scanf函数

采用visual studio2017进行如下操作

#include<stdio.h>
#include<math.h>
main()
{
      float a, b, c;
      printf("请输入两条直角边:\n");
      scanf_s("%f,%f", &a, &b);
      printf("%f,%f\n", a, b);
}

在命令窗口输入3.0,4.0
结果为
3.000000,-107374176.000000

但是如果将含有scanf那句修改为
scanf_s("%f%f", &a, &b);
在命令窗口输入3.0 4.0
则结果可正常显示为3.000000,4.000000

为什么第一种情况下输入4.0无法正常显示,而是输出的值为-107374176.000000

cxyxzq 发表于 2019-9-16 15:29:32

你scanf_s("%f,%f", &a, &b);里是英文逗号,控制台输入的是中文逗号。

生如夏花133 发表于 2019-9-16 15:36:05

cxyxzq 发表于 2019-9-16 15:29
你scanf_s("%f,%f", &a, &b);里是英文逗号,控制台输入的是中文逗号。

太感谢了,刚刚试了一下,确实是这样!!!{:5_92:}
页: [1]
查看完整版本: scanf函数