一运行就跳到头文件报错是为什么

代码助手 毕业设计 1
#include<stdio.h>
int main()
{
  double a, b;
  char op;
  printf("请输入\n");
  scanf_s("%lf%c%lf", &a, &op, &b);
  if (op== '+')
 printf("%f", a + b);

  return 0;
}

回复

共2条回复 我来回复
  • 毕业设计货栈
    这个人很懒,什么都没有留下~
    评论

    scanf s("%lf%c%lf", &a, &op, &b); 改成 scanf s("%lf%c%lf", &a, &op,1, &b); 或 scanf("%lf%c%lf", &a, &op, &b);

    原因:scanf_s在遇到%s和%c时,需要额外传递长度参数,%c长度是1。

    0条评论
  • 源码客栈
    这个人很懒,什么都没有留下~
    评论

    scanf_s是格式化输入,若输入的字符也是数字将无法分辨,可以改成

    scanf_s("%lf%c%lf", &a, &op,1,&b);
    

    输入时用enter分隔

    0条评论

发表回复

登录后才能评论