已知char **s;下面正确语句是()A,s="ABCDEF";B,*s="ABCDEF";C,**s="ABCDEF
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:数学作业 时间:2024/04/28 00:47:55
已知char **s;下面正确语句是()A,s="ABCDEF";B,*s="ABCDEF";C,**s="ABCDEF";D,*s='A'
【解析】“s”是代表数组首地址的地址常量,不是变量,“=”左边不能出现常量,因此s="ABCDEF"语法错误.“**s”和“s”一样;“*s”是指变量地址,不能给其赋字符串.
看了依旧不懂!
【解析】“s”是代表数组首地址的地址常量,不是变量,“=”左边不能出现常量,因此s="ABCDEF"语法错误.“**s”和“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;
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;
已知char **s;下面正确语句是()A,s="ABCDEF";B,*s="ABCDEF";C,**s="ABCDEF
char s[]="abcdef";s[3]='\0';当中是s[3]='\0'怎么解释啊
char buffer[1024]; char digit[64]; sscanf(buffer,"ABCDEF=%s"
下面语句正确的是 A.char s[5] B.char s[5]="12345" C.chat s[56] D.char
char a[7]="abcdef" char b[4]="ABC" strcpy(a,b) printf("%c",a
char a[]="ABCDEF"; char a[]="{'A','B','C','D','E','F'}; a和b数
六棱柱S-ABCDEF是底面周长为24的正六边形,角SHO=60
char s2="ABC\ DEF"; 需要怎么改是其输出结果为 ABCDEF ABCDEF ABCDEF 为什么
.若有以下定义和语句:char a[7]= “abcdef”,b[4]= “ABC”; strcpy(a,b); 则a[
定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的为啥是 A)p=s; B)p=k; C
若有定义语句:char s[3][10],(*k)[3],*p;则以下赋值语句正确的是:A、p=s; B、p=k; C、
ABCDEF 6个点,每隔0.1s AB=2.8cm EF=9.12cm (匀变速直线运动)