已知char **s;下面正确语句是()A,s="ABCDEF";B,*s="ABCDEF";C,**s="ABCDEF";D,*s='A'【解析】“s”是代表数组首地址的地址常量,不是变量,“=”左边不能出现常量,因此s="ABCDEF"语法错误.“**s”和“s”一

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 14:39:48
已知char **s;下面正确语句是()A,s=
xU_OP*ؚ>J~_ԇ̮rƷ1n(#2x` Qc vO|O{;VFڞ{{ើ:60袺Z)k;FdtQ#AĵG= XtvD:圱Nsԙ39lZeX"3zeV.(5R٠Ngr I<1Nwm0^Z%  M/R'83˄-BSp`/Wo[@Vdg")4ze<038o4uӪLW2јv'spHC }Hd雤)%t)caJQ\=2q@S)+[ ;4˰VB}j1#;(:nټ8 ܀%904YvZbd-k'zn ~b JJ,mB @u>  WAPԍ dY}u$V;ÆB;wwɁ8|\d¸9oH ZBC|=`#;pY:DNjNJ^Ovj#4ca ^(x,muKHXj !OxH8oNxsΓ9ǿERY\&A3ZnX92v.8Z1$LQOB׋fl5=!*%*'x#E!$Ƅn?7u

已知char **s;下面正确语句是()A,s="ABCDEF";B,*s="ABCDEF";C,**s="ABCDEF";D,*s='A'【解析】“s”是代表数组首地址的地址常量,不是变量,“=”左边不能出现常量,因此s="ABCDEF"语法错误.“**s”和“s”一
已知char **s;下面正确语句是()A,s="ABCDEF";B,*s="ABCDEF";C,**s="ABCDEF";D,*s='A'
【解析】“s”是代表数组首地址的地址常量,不是变量,“=”左边不能出现常量,因此s="ABCDEF"语法错误.“**s”和“s”一样;“*s”是指变量地址,不能给其赋字符串.
看了依旧不懂!

已知char **s;下面正确语句是()A,s="ABCDEF";B,*s="ABCDEF";C,**s="ABCDEF";D,*s='A'【解析】“s”是代表数组首地址的地址常量,不是变量,“=”左边不能出现常量,因此s="ABCDEF"语法错误.“**s”和“s”一
B  才是对的吧  不考虑类型强转并且 在此前有 s=new char*;
typedef char * pchar;
pchar *s;
 s可以看成以上定义 也许更方便理解
 
typeid("ABCDEF").name()是const char [7];
typeid(*s).name()是char *;
typeid(**s).name()是char;
如果考虑强转  可以参考如下
s=new char **;//s=(char **)(void*)("ABCDEF");
 
*s=new char *;//**s=(char)(long)(void*)("ABCDEF");
//*s=(char*)(long)('A');
如下操作经过VS2010 测试
char **s,**ppt,*pt,p;
  cout<<"**s:"<<typeid(**s).name()<<endl;
  cout<<"*s:"<<typeid(*s).name()<<endl;
  cout<<"s:"<<typeid(s).name()<<endl;
  cout<<"\"ABCDEF\":"<<typeid("ABCDEF").name()<<endl;
  s=ppt=new char*;
  *s=pt=new char ;
  **s=p='A';
  **s=(char)(long)(void*)"A";
  *s=(char*)(long)'a';
  *s="B";
  s=(char **)(void *)"C";
  s=(char**)(void*)(long)'d';
  delete ppt;
  delete pt;