为什么 atoi() 的结果没有出现在我的程序输出中?

Why don’t the results of atoi() appear in my program’s output?

我正在尝试使用 atoi 将命令行上传递的参数转换为 int,但无论字符串是小还是大,它都需要很长时间。有什么想法吗?

int main(int argc, char *argv[]) {
int id;
int v[5];
id=atoi(argv[2]);
v[0]=atoi(argv[3]);
v[1]=atoi(argv[4]);
v[2]=atoi(argv[5]);
v[3]=atoi(argv[6]);
v[4]=atoi(argv[7]);

//conversion must be taking forever; this is never printed
printf("%d %d %d %d %d %d", id,v[0],v[1],v[2],v[3],v[4]);

return 0;
}

我怀疑你是Suffering from Buffering。将您的 printf 行更改为

printf("%d %d %d %d %d %d\n", id,v[0],v[1],v[2],v[3],v[4]);

注意添加的换行符,\n