-v or --verbose. By passing everything as strings, your program has complete control over interpreting its arguments however it needs to.
PS : Normally, File Descriptor 0 is connected to your keyboard (waiting for you to type).When you use the pipe |, the shell disconnects the keyboard and plugs the output of push_swap directly into File Descriptor 0.
Physically, a pipe is a temporary kernel memory buffer acting as a First-In-First-Out (FIFO) queue, not a file on the disk. When the shell sees a |, it requests this buffer via pipe(), creates two cloned processes via fork(), and uses dup2() to rewire their internal plumbing before they even start running: the first process (push_swap) has its Standard Output (FD 1) redirected to the pipe's write-end, and the second process (checker) has its Standard Input (FD 0) redirected to the pipe's read-end. This allows push_swap to printf directly into RAM and checker to read from that same RAM, with the OS kernel pausing and waking them in real-time to prevent the buffer from overflowing or underflowing, seamlessly passing data until the writer exits and sends an EOF.
Sort three :

Sort four or five :

Sort large stacks :
