我是 C 的初学者,在过去一两个小时里一直在努力找出我的代码代码出了什么问题。我一直在关注 K&R 的书,我一直在翻阅它,但仍然不明白我的逻辑错误。
while (*argv>0){
while (**argv>0){
printf("%c\n",**argv);
**argv++;
}
argv++;
}
任务:使用 argv 打印出所有提供给我的程序的参数。
根据我的理解,argv 是一个指向数组的指针,该数组包含指向字符指针数组的进一步指针。所以,我说过当 *argv>0 或第一个数组仍然有元素时,我们应该跟随从第一个数组到下一个数组的指针。然后我们应该打印出下一个数组中的所有元素。
最佳答案
这一行中的 * 太多:
**argv++;
应该是这样的:
*argv++;
加上额外的大括号,因为++
操作有更高的优先级:
(*argv)++;
它会起作用。
关于c - 基本 C 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10858890/