c++ - 有没有其他方法只在程序到达程序末尾时输出数据?

标签 c++ c

int n;
scanf("%d",&n);
printf("output:%d\n",n);
scanf("%d",&n);
printf("output:%d\n",n);
scanf("%d",&n);
printf("output:%d\n",n);

指令printf执行后立即输出数字,是否有其他方法仅在程序到达程序末尾时输出数据?

我想要:

3
4
5
output:3
output:4
output:5

不是:

3
output:3
4
output:4
5
output:5

最佳答案

您可以使用递归来完成此操作。

int main(){    
    int n=2;
    foo(n);
}
void foo(int n){
    int tmp;
    if(!n){
        return;
    }else{
        scanf("%d",&tmp);
        foo(n--);
        printf("%d",tmp);
    }

}

关于c++ - 有没有其他方法只在程序到达程序末尾时输出数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40815571/

相关文章:

c++ - unique_ptr C++03仿真中的move函数

c++ - C++中,为什么指针转换时地址变了?

objective-c - 断言调试类型独立?

mysql - 连接 MySQL 和 C

c - 为什么 memcpy 在 32 位模式下使用 gcc -march=native 在 Ryzen 上对于大缓冲区很慢?

使用 mosquitto 客户端库的 C 程序无法正常工作

c - 如何在 Debug模式下查看动态分配内存的值?

c++ - 为什么在这种情况下不会调用移动构造函数?

c++ - Mac OS OpenGL - CPU 使用问题

c++ - 从 end() 函数返回的迭代器获取 BST 的最后一个节点?