为什么输出的第二行是world!不是!ldrow,或者说这个程序的运行是怎么样的,为什么会输出的答案是这样的

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

main(int argc, char argv[]) /* test.c*/
{ while(argc>1)
{ ++argv;
printf("%s\n",*argv);
--argc;
}
}
设输入:C:\TC> test[.exe] hello world!
输出是:hello
world!

主函数参数应该是这样的int main(int argc, char* argv[])或者int main(int argc, char** argv),
++argv;只是跳到下一个字符数组,并不是按照字符跳转的

输出空格间隔的各命令行参数。没问题。