C++ Stack around the variable 'Operatorstr' was corrupted望解答下
两数相加
#include<stdio.h>
int main()
{
int firstNumber, secondNumber, sumofTwoNumbers;
printf_s("请输入两个整数");
scanf_s("%d %d", &firstNumber, &secondNumber);
sumofTwoNumbers = firstNumber + secondNumber;
printf_s("%d+%d=%d", firstNumber, secondNumber, sumofTwoNumbers);
scanf_s("");
return 0;
}
这样写没问题,加了char类型出错,存在C++ Stack around the variable 'Operatorstr' was corrupted
#include<stdio.h>
int main()
{
int firstNumber, secondNumber; // 第一个数,第二个数
char Operatorstr; // 运算符
int sumofTwoNumbers; // 和
int differenceofTwoNumbers; // 差
int productofTwoNumbers; // 乘积
int quotient, remainder; // 商,余数
printf_s("2 2 \n");
scanf_s("%d %d", &firstNumber, &secondNumber);
printf_s("+-*/ ");
scanf_s("%s", &Operatorstr,4);
switch (Operatorstr) {
case '+':
sumofTwoNumbers = firstNumber + secondNumber;
printf_s("%d + %d=%d\n", firstNumber, secondNumber, sumofTwoNumbers);
break;
case '-':
differenceofTwoNumbers = firstNumber - secondNumber;
printf_s("%d - %d=%d\n", firstNumber, secondNumber, differenceofTwoNumbers);
break;
case '*':
productofTwoNumbers = firstNumber * secondNumber;
printf_s("%d * %d=%d\n", firstNumber, secondNumber, productofTwoNumbers);
break;
case '/':
quotient = firstNumber / secondNumber;
remainder = firstNumber % secondNumber;
printf_s("%d / %d=%d······%d\n", firstNumber, secondNumber, quotient, remainder);
break;
default:
printf_s("default");
}
scanf_s("");
return 0;
}
本文来自博客园,作者:꧁执笔小白꧂,转载请注明原文链接:https://www.cnblogs.com/qq2806933146xiaobai/p/12191544.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下