我的老师给了我一个练习的更正,它包含使用双指针的代码。由于我对 CI 相当陌生,因此难以理解代码的作用。我知道单指针的基础知识,但不知何故我在双指针路线上迷失了方向。
编码:
#include <stdio.h>
main(int argc, char** argv){
printf("\nHello ");
char** runner = argv;
++runner;
while(*(runner+2) != 0){
**runner = toupper(**runner);
printf("%s, ",*runner);
++runner;
}
**runner = toupper(**runner);
printf("%s ",*runner);
++runner;
**runner = toupper(**runner);
printf("and %s!",*runner);
}
- 我遇到的第一个问题是理解为什么主函数使用双指针?-第二个问题,在初始化双指针 runner 之后,它被告知指向一个更远的地方。但是,如果它指向一个指针,而指针本身又指向一个你不知道的地方,那么你到底怎么知道它指向哪里呢?
- 由于我无法理解前两件事,因此我无法继续,也不知道代码如何进一步工作。
感谢您的时间