gpt4 book ai didi

C、从输入中读取简单的公式字符串

转载 作者:太空宇宙 更新时间:2023-11-04 02:18:20 25 4
gpt4 key购买 nike

对于作业,我们需要输入简单的公式(如3*24+1050/16等.) 并仅使用加法、减法和位移来计算结果(和其余部分)。无论如何,我可以使用三个后续的输入读取,但我想我会尝试使用 fgets()sscanf() 一次性获得公式。这是我所拥有的:

int *v;  // value (left side)
int *m; // modifier (right side)
char *o; // operant

int res = sscanf(buffer,"%d%s%d",v,o,m);

但是自然地,这行不通,因为 o 得到了字符串的所有剩余部分,而 m 什么也没有留下(m 等于无论值是在何时何地声明的)

现在,实现这一目标的正确方法是什么?

注意:我正在使用 a trim function修剪多余的空格。

最佳答案

尝试使用 %c 而不是 %s。如果运算符始终是单个字符,并且运算符和操作数之间没有空格,那么这应该可行。

顺便问一下,您是否正在初始化 vmo 以实际指向某物?这样做会好得多:

int v;
int m
char o;

int res = sscanf(buffer, "%d%c%d", &v, &o, &m);

正如我的“C 编程入门”教授曾经说过的:“C 很危险。练习安全的 C!”。

关于C、从输入中读取简单的公式字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4215834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com