我爱橙 发表于 2022-3-10 16:11:51

NO.113 指针变量赋值

本帖最后由 我爱橙 于 2022-3-10 16:11 编辑

Q:设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是
A.c=*p1+*p2;   //指针不能计算
B.p2=c;
C.p1=p2;
D.c=*p1*(*p2);

BCD尝试运行程序了,但都卡在设计p1和p2是指向同一个字符串的指针变量上了QAQ



B.
#include <stdio.h>
#include <math.h>

int main()
{
      char *p1=*p2"crazy",c;
      p2=c;
          printf("p1=%c\n",p1);//p1=
          printf("*p1=%c\n",*p1);//*p1=
          printf("p2=%c\n",p2);//p2=
          printf("*p2=%c\n",*p2);//*p2=
       
   

      return 0;
      
}

6        17       
'p2' was not declared in this scope
7        10       
'c' was not declared in this scope


C.
#include <stdio.h>
#include <math.h>

int main()
{
      char *p1=*p2="crazy",c;
      p1=p2;
          printf("p1=%c\n",p1);//p1=
          printf("*p1=%c\n",*p1);//*p1=
          printf("p2=%c\n",p2);//p2=
          printf("*p2=%c\n",*p2);//*p2=
       
   

      return 0;
      
}

6        17       
'p2' was not declared in this scope



D.
#include <stdio.h>
#include <math.h>

int main()
{
      char *p1=*p2="crazy,c;
      c=*p1*(*p2);
          printf("p1=%c\n",p1);//p1=
          printf("*p1=%c\n",*p1);//*p1=
          printf("p2=%c\n",p2);//p2=
          printf("*p2=%c\n",*p2);//*p2=
       
   

      return 0;
      
}

6        17       
'p2' was not declared in this scope
7        7       
'c' was not declared in this scope
页: [1]
查看完整版本: NO.113 指针变量赋值