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

时间:2016-04-09 14:07:10

标签: c atoi

我正在尝试使用int将在命令行上传递的参数转换为atoi,但无论字符串是小还是大,它都会永远消失。有什么想法吗?

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;
}

1 个答案:

答案 0 :(得分:2)

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

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

请注意添加的换行符\n