gpt4 book ai didi

c - 如何打印出atoi值

转载 作者:行者123 更新时间:2023-11-30 20:08:23 25 4
gpt4 key购买 nike

我尝试打印出 atoi来自《C 编程语言》中显示的函数的值,但我发现以前的 main 格式无法打印出 atoi值(value)。

之前,我写过htoi在 C 中使用这种格式,但这次不起作用。代码如下所示:

#include <stdio.h>
#include <ctype.h>

#define MAXLINE 1000

int get_line(char line[], int maxline);
int atoi(char s[]);

int main(void)
{
int len;
char line[MAXLINE];

while ((len = get_line(line, MAXLINE)) > 0) {
atoi(line);
printf("%s", line);
}
return 0;
}

int get_line(char s[], int lim)
{
int c, i;

for (i = 0; i < lim-1 && (c=getchar()) != EOF && c != '\n'; ++i)
s[i] = c;
if (c == '\n') {
s[i] = c;
++i;
}
s[i] = '\0';
return i;
}

int atoi(char s[])
{
int i, n, sign;

for (i = 0; isspace(s[i]); i++)
;
sign = (s[i] == '-') ? -1 : 1;
if (s[i] == '+' || s[i] == '-')
i++;
for (n = 0; isdigit(s[i]); i++)
n = 10 * n + (s[i] - '0');

return sign * n;
}

它复制用户的输入,而不是打印出 atoi 转换的 int 值这不是我想要的结果。

最佳答案

您需要将 atoi() 的结果分配给一个变量并打印它。

    while ((len = get_line(line, MAXLINE)) > 0) {
int num = atoi(line);
printf("%d\n", num);
}

关于c - 如何打印出atoi值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57085745/

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