【发布时间】:2013-10-14 12:42:44
【问题描述】:
当使用参数 15 运行我的程序时,atoi 返回 1。 Atoi 只返回第一个数字。这应该发生吗?如何绕过它?
int _tmain(int argc, char* argv[])
{
int a = atoi(argv[1]);
}
【问题讨论】:
-
你是如何确定
atoi返回1的? -
通过在该行之后中断并查看 a 中的值
-
那行不通。由于
a是本地的且从未访问过,因此编译器没有理由将结果实际写入a。 -
不确定您的建议。在单独的行上声明并不能解决问题。那 1 肯定会被写入 a。打印打印 1. 打印
atoi(argv[1])打印 1 -
@user2081737 为什么不添加
printf( "%d\n", a ) ;或std::cout << a << std::endl;