C 编程:将 getchar 存储为 char 数组
C Programming: store getchar as a char array
我正在开发一个程序,该程序接收用户的输入并将其存储为一串数字(假设没有错误输入)并将此字符 string/array 转换回整数。我意识到我最初可以将输入存储为整数,但我正在尝试练习一些转换方法。
目前我的错误涉及函数atoi(),它有一个"conflicting types" 收到消息。
#include <stdio.h>
#include <stdlib.h>
int atoi(char s[])
{
int i, n;
n = 0;
for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i)
{
n = 10 * n + (s[i] - '0');
}
return n;
}
int main(void)
{
char str[5];
int c, i;
printf("Please enter a number");
for (i = 0; (c = getchar()) != '\n'; ++i)
{
str[i] = c;
}
printf("%d", atoi(str));
return EXIT_SUCCESS;
}
错误代码如下:
正在调用:GCC C 编译器
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/Chapter2.d" -MT"src/Chapter2.d" -o "src/Chapter2.o" "../src/Chapter2.c"
../src/Chapter2.c:50:5: error: conflicting types for ‘atoi’
int atoi(char s[])
atoi()
是否在标准库中 #include<stdlib.h>
将您的函数名称更改为其他名称
我正在开发一个程序,该程序接收用户的输入并将其存储为一串数字(假设没有错误输入)并将此字符 string/array 转换回整数。我意识到我最初可以将输入存储为整数,但我正在尝试练习一些转换方法。
目前我的错误涉及函数atoi(),它有一个"conflicting types" 收到消息。
#include <stdio.h>
#include <stdlib.h>
int atoi(char s[])
{
int i, n;
n = 0;
for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i)
{
n = 10 * n + (s[i] - '0');
}
return n;
}
int main(void)
{
char str[5];
int c, i;
printf("Please enter a number");
for (i = 0; (c = getchar()) != '\n'; ++i)
{
str[i] = c;
}
printf("%d", atoi(str));
return EXIT_SUCCESS;
}
错误代码如下:
正在调用:GCC C 编译器
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/Chapter2.d" -MT"src/Chapter2.d" -o "src/Chapter2.o" "../src/Chapter2.c"
../src/Chapter2.c:50:5: error: conflicting types for ‘atoi’
int atoi(char s[])
atoi()
是否在标准库中 #include<stdlib.h>
将您的函数名称更改为其他名称