C++ 比较两个整数、错误或奇怪的结束

C++ comparing two ints, error or wierd end

我在 CODE:BLOCKS 中使用 C++,并且我制作了一个带有登录的小游戏,所以当我想比较一个来自 scanf 的变量 (int) 和我制作的一个变量时,那是行不通的。所以在程序中我用一个名字和一个密码登录,这有效,比我得到一个练习:65+34 如果我输入任何数字,它会崩溃,如果我输入一个字母,它会说 "A valasz rossz" 这意味着我的回答不正确,对匈牙利语程序感到抱歉...翻译:

在第 103 行中,您需要将要存储值的变量的地址传递给 scanf,而不是:

scanf("%d",ans);

你应该这样做:

scanf("%d", &ans);

您可能需要检查对 scanf 的所有调用,并且:

  1. 确保将指针传递给输出变量
  2. 检查 return 值以验证您是否已成功读取用户的输入(例如,检测您是否需要一个数字并且用户输入了一个单词)
  3. 使用 C 字符串(char 数组,与 printf 和 scanf 函数一起使用)而不是 C++ 字符串(std::string,与 >> 和 << 运算符一起使用)

希望对您有所帮助。

问题在这里:

scanf("%d",ans);

'scanf()' 存储值,所以它需要一个地方来存储它们。 这是通过提供地址(在指针中)来完成的 存储值的位置。

所以写:

scanf("%d",&ans);

它将解决您的问题。