我遇到了关于返回值的问题atoi()
。
我想将char
命令行参数argv[1]
转换为int
类型并打印出来。
这是我的代码。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i;
//print the char in *argv[]
for(i = 0; i < argc; i++)
{
fprintf(stdout, "Arg %d: %s\n", i, argv[i]);
}
if (argc > 1)
{
i = atoi(argv[1]); //convert char to int
fprintf(stdout, "Int version of 1st arg: %d\n", i);
}
return 0;
}
我通过 gcc 编译并运行它./a.out a b c
其他结果是正确的,但atoi()
结果总是显示为
Int version of 1st arg: 0
你能给我一些关于这个话题的建议吗?