两道C++题目- =来个大神给解释下- 、-基础知识薄弱啊

2024-12-31 15:22:01
推荐回答(2个)
回答1:

#include
using namespace std;
 
int main()
{
 char   acArr[]= "ABCDE";
 char   *pcPtr;
 for(pcPtr = acArr; //这里是把pcPtr指向acArr的第一个字符,就是A
  pcPtr < acArr + 5; //这里控制打印的行数,一共移动了5次,会输出5行
   pcPtr++){   //这里pcPtr++会把指针往后面移动一个字符,比如从A移动到B
   printf("%s\n", pcPtr);//这里会从pcPtr指向的字符开始,打印到字符结束
 }
 return 0;
}

第二个问题你自己已经找到原因了,没有定义=

回答2:

  1. pcPtr可以理解为一个字符串的地址,这个字符串是从这个地址一直到'\0',所以循环的时候pcPtr++使得每次输出的字符串都少了一个字符。