首页 > 其他分享 >c语言中共用栈的一个例子

c语言中共用栈的一个例子

时间:2023-02-05 21:11:58浏览次数:56  
标签:opt right int number2 用栈 例子 中共 number1 input

栈的其中一个作用:

1. 函数的返回地址和参数

栈保存了一个函数调用时所需要的维护信息,可能和搭载另一个函数的栈一起返回函数的返回值(下面有一个例子)

#include <stdio.h>
#define N 5

int get_input(int number1, char opt, int number2);
int check_answer(int number1, char opt, int number2, int input);
void result();

int main()
{
int number1[N] = {36, 23, 47, 7, 19};
int number2[N] = {25,  8, 29, 16, 6};
char opt[N] = {'+', '-', '-', '+', '+'};
int is_right[N]; // 0:回答错误,1:回答正确 
int input[N];
int i;

for(i = 0;i < 5;i++){
printf("第%d题:", i + 1);
input[i] = get_input(number1[i], opt[i], number2[i]);
is_right[i] = check_answer(number1[i], opt[i], number2[i], input[i]);
result();
}

return 0;
}

int get_input(int number1, char opt, int number2)
{
int input;
printf("%d %c %d = ", number1, opt, number2);
scanf("%d", &input);
return input;
}

int check_answer(int number1, char opt, int number2, int input)
{
int is_right = 0; // 0:回答错误,1:回答正确
if(opt == '+'){
if(input == (number1 + number2)){
is_right = 1;
}
}else{
if(input == (number1 - number2)){
is_right = 1;
}
}
return is_right;
}

void result(){
int nl;
if(nl==1){
printf("回答正确!\n");
}else if(nl==0){
printf("回答错误!\n");
}
}

void result()函数就会可能搭载这里代码里的其中一个函数的栈一起返回值,就有可能void  result()这个函数“融在”它搭载同一个函数的栈中,即使void result()函数没有形参,但是调用它也能发挥作用的原因。

标签:opt,right,int,number2,用栈,例子,中共,number1,input
From: https://www.cnblogs.com/cpu666/p/17093945.html

相关文章

  • 庆军之商城(一个例子)
    基于Orleans的商城限制条件:1>≤10个类别2>每类别≤10个商品。3>50个门店内的。4>h5商城展示与下预订单,不支持支付。5>微商城 展示与下预订单,不支持支付。6>pgsql......
  • 状态机例子序列检测
    简介:用Verilog描述一个可综合的序列检测器用于检测输入数据码流中的特定序列(本次检测序列为10010,只要修改状态转移关系即可实现其他目标序列的检测)。当检测到10010序列(......
  • c语言-----指针例子
    指针的基本应用#include<stdio.h>intmain(){ inta=100,b=200; int*p_1,*p_2=&b; p_1=&a; printf("a=%d\n",a); printf("*p_1=%d\n",*p_1); printf("b=%d......
  • nginx 负载均衡 例子
    [root@XWBizEngine03conf]#catnginx.conf|egrep-v'#'|grep-v'^$'userroot;worker_processesauto;error_loglogs/error.logdebug;events{worke......
  • LeetCode.232 用栈实现队列
    1.题目请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现MyQueue类:voidpush(intx)将元素x推到队列的末尾intpop()......
  • 一个简单的Flask例子
    1、安装FlaskpipinstallFlask fromflaskimportFlaskapp=Flask(__name__)@app.route("/index1")defhello():return"helloworld!"@app.route("/python")de......
  • 一个简单的pytest例子
    1、安装pytestpipinstallpytest2、发现用例规则   3、运行方式   4、运行参数   5、pytest框架结构   6、fixture    forexamp......
  • 【python学习随笔】02 python的简单例子
    02python的简单例子fromrandomimportrandrange,shuffledefbubbleSort():array=[]whilelen(array)<12:#范围内随机取12个数值array.a......
  • 超全 泛微 E9 Ecology 9开发资料大全 开源资源下载 泛微E9二次开发 泛微开发实战经验
    由于工作需要,E9在泛微一推出来,以前所在的企业就第一时间上线了,经过四年多的运行,功能强大再加上在上面开发非常多的业务,一般的企业员工只需要打开泛微就可以处......
  • 代码随想录算法训练营第十天 | 理论基础,232.用栈实现队列,225. 用队列实现栈
    一、参考资料理论基础文章讲解:https://programmercarl.com/%E6%A0%88%E4%B8%8E%E9%98%9F%E5%88%97%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html用栈实现队列题目链......