若定义 char s[2][3]={"ab","cd"},*p=(char *)s; 那么下列表达式语法正确,
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/01 08:15:34
若定义 char s[2][3]={"ab","cd"},*p=(char *)s; 那么下列表达式语法正确,
若定义
\x09\x09\x09\x09\x09\x09
char s[2][3]={“ab”,“cd”},*p=(char *)s;
那么下列表达式语法正确,并且其值与 s[1][1]相等的表达式(并非一定与其等价)是(
\x09\x09\x09\x09\x09\x09
).
(3分)
\x09\x09\x09\x09\x09\x09
A、*(s+3)
B、*++p+2
C、*s+2
D、p[1][1]
\x09\x09\x09\x09\x09\x09
\x09\x09\x09\x09\x09\x09
B
\x09\x09\x09\x09\x09
\x09\x09\x09\x09
\x09\x09\x09
\x09\x09
若定义
\x09\x09\x09\x09\x09\x09
char s[2][3]={“ab”,“cd”},*p=(char *)s;
那么下列表达式语法正确,并且其值与 s[1][1]相等的表达式(并非一定与其等价)是(
\x09\x09\x09\x09\x09\x09
).
(3分)
\x09\x09\x09\x09\x09\x09
A、*(s+3)
B、*++p+2
C、*s+2
D、p[1][1]
\x09\x09\x09\x09\x09\x09
\x09\x09\x09\x09\x09\x09
B
\x09\x09\x09\x09\x09
\x09\x09\x09\x09
\x09\x09\x09
\x09\x09
s[1][1] = 'd',这个应该没问题吧?第二个字符串的第二个字符.
*++p+2 这个比较有趣,p是一个char*指针,指向字符数组首地址,&s[0][0].
首先++的优先级更高执行++p得到的是&s[0][1],然后*运算符解引用,得到s[0][1]
s[0][1]的字符是'b',然后'b'+2,得到的就是'd'的ASCII码.
再问: 为什么p是一个char*指针,指向字符数组首地址,&s[0][0],*++p+2不应该是说明平指向&s[1][2]吗?
再答: 基础不过关,解释了也没用,回去看书。
*++p+2 这个比较有趣,p是一个char*指针,指向字符数组首地址,&s[0][0].
首先++的优先级更高执行++p得到的是&s[0][1],然后*运算符解引用,得到s[0][1]
s[0][1]的字符是'b',然后'b'+2,得到的就是'd'的ASCII码.
再问: 为什么p是一个char*指针,指向字符数组首地址,&s[0][0],*++p+2不应该是说明平指向&s[1][2]吗?
再答: 基础不过关,解释了也没用,回去看书。
C语言题:定义:char s[20]="programming",*p=s;则不能正确表示S[2]元素的表达式是?
若有下面的程序段: char s[]="china"; char *p; p=s; 则下列叙述正确的是________
若有定义语句:char s[3][10],(*k)[3],*p;则以下赋值语句正确的是:A、p=s; B、p=k; C、
若以下定义:char s[20],*ps=s; 则,以下赋值语句正确的是:
设char s[10];int i=5;,下列表达式中,正确的表达式是( ).(1分)
定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的为啥是 A)p=s; B)p=k; C
C语言题 执行下列语句后,*(p+1)的值是【1】.char s[3]="ab",*p; p=s;
若有定义语句:char s[3][10],(*k)[3],*p; p=s[0]为什么是对的? s是二维数组,怎么写成了一
8.32 C语言,有下列定义语句char s[3][10],(*k)[3],*p
f(char *s) {char *p=s; while (*p!='\0') p++; return(p-s); }
详解下面的程序题.#include void main(){ char *p,*q;p=(char *)malloc(s
对于以下结构定义:struct{ int len; char str;} s,*p=&s; p->str的意思是?