首页 > 解决方案 > 由于 scanf 功能,我的代码花费了很多时间,之后它甚至没有运行

问题描述

我的 scanf 函数在 VS 代码中不起作用...我尝试了不同的方法,例如卸载防病毒软件并重新启动它,但它不起作用。这是代码。

#include <stdio.h>

int main(){
  int num;
  printf("Enter the number \n");
  scanf("%d");

  printf("Divisibility test returns %d\n", num % 97);

  return 0;
}

这花了很多时间,但仍然没有运行:(

标签: c

解决方案


您需要告诉scanf()它应该存储读取值的位置。这是通过将指向目标变量的指针作为参数传递来完成的。

 scanf("%d", &num);

编辑

值得检查scanf. 它返回多个成功解析的参数。的值1是预期的:

if (scanf("%d", &num) != 1) {
  fputs("Failed to parse a number\n", stderr);
  return EXIT_FAILURE;
}

推荐阅读