【发布时间】:2011-04-24 03:57:33
【问题描述】:
我知道这是基本的东西,但我有一个特殊的问题。
我正在实现一个简单的shell程序,如果传递了退出值,则退出函数需要传递退出值。因此,exit 45 应该返回 45 作为值,但没有要打印的内容*。
命令被传递给char **arglist 数组中的函数解析器。由于exit 45 是两个args,我需要打印出最后一个arg。
但是,我的调试语句 printf((int)&arglist[1]) 返回一个值 163393752,它与传入的值稍有偏差。当我将printf 更改为puts 时,打印出正确的值,但exit() 需要一个整数,而不是指针。
使用此示例如何从指针数组中获取 45?
*根据教授所说,逐字引用他的措辞。
【问题讨论】:
-
这听起来像是家庭作业……是吗?
-
它用于学校项目。基本上我需要完成的最后一点才能满足所有要求
-
作业与否,我认为需要显示一些代码。为什么要描述几行代码就会发生的事情,这样我们就不必猜测细节了?复制/粘贴是您的朋友。顺便说一句,听起来您需要将字符串“45”转换为
int。 -
相关代码已经在`printf((int)&arglist[0]);