我只是在学习C,在我的课堂上,这是我们第一个课程的一部分。
我想要实现的功能的完整描述:
如果那是tl; dr,关键是我不允许使用其他库中的函数(因此排除srtol
之类的东西)。
int parseHexString(char *hexString, int *integerRead);
第一个 parameter是一个以null结尾的C字符串,表示十六进制 整数。此函数解析此字符串,累积整数 它代表的价值。此整数值位于该位置 由第二个参数integerRead指向。如果一个坏十六进制 遇到此字符,因此遇到无效的十六进制值,此函数 停止查看字符串中的其他字符并返回-1。 如果解析了一个好的十六进制值,它将返回0.实现此功能的正确方法着眼于第一个 首先是字符串中的字符,不使用堆栈 完成解析。您的第一个汇编语言程序将需要 实现这个功能完成的任务,所以你将保存 通过正确的方式实现此功能,你自己的时间。
对于此功能,请勿调用任何库中的任何函数;作为一个 异常,仅出于调试目的,您可以使用
printf()
。它会 如果在提交之前删除调试代码,请帮助我们评分 你的任务。
我不只是在寻找这个函数的完整实现,只是一些提示或提示让我开始。
我觉得有一种直观的方式可以做到这一点,但现在我正在消隐。我关心的是我应该从字符串的第一个字符开始,然后从那里继续将其转换为十进制。
答案 0 :(得分:2)
怎么样: