The C Programming Language 学习(11)——静态局部变量

本文探讨了C语言中的静态局部变量,重点解释了它们如何在函数调用间保留值。通过getop()函数的例子,展示了如何利用静态局部变量在处理四则运算字符串时保存和返回多余的字符,确保正确记录操作数。
摘要由CSDN通过智能技术生成

局部变量通常定义在程序块(函数)的开头,其作用域在程序块(函数)内部,程序块外部不能访问局部变量。局部变量默认的存储类型是auto,它在进入声明该变量的程序块时被建立,在该程序块活动时存在,退出该程序块时撤销。函数内的局部变量可以申明为static类型,在退出该函数时,静态局部变量仍然存在,可以保存该变量的值用于下一次函数调用;注意静态变量只初始化一次。下面通过getop()函数的例子来说明。

编写函数int getop(char s[ ]) ,实现四则运算字符串的读取,字符读取使用getchar()函数。读到操作符,返回该符号;读到操作数返回常量NUMBER;s记录读到的字符串。考察输入字符串“12.34+\n”,依次读取数字字符(含小数点)'1', '2', '.', '3', '4',当读入'+'可以判断操作数读取完成,返回NUMBER;然而多读入了字符'+',需要把它返回输入流(存在变量buf中),从而保证正确记录读入的操作数,即s[ ] = { " 12.34 "}。将多读入的字符返回输入流,可以用ungetch()函数实现;也可以在getop()函数中定义静态局部变量buf,来保存返回的字符。

#include<std
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值