int *p,n; char *q,*g,ch; 下列________语句是不合适或不正确的.
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 07:03:33
int *p,n; char *q,*g,ch; 下列________语句是不合适或不正确的.
\x05A.p = &n; g = p = &ch;\x05\x05\x05B.p = &n; q = &ch;
C.p = &n; g = &ch;\x05\x05\x05D.p = &n; q = &ch; g = p;
我知道B C对的,D肯定错,但对A中这个连等 g = p = &ch; 有疑问,这是个什么过程呢?
\x05A.p = &n; g = p = &ch;\x05\x05\x05B.p = &n; q = &ch;
C.p = &n; g = &ch;\x05\x05\x05D.p = &n; q = &ch; g = p;
我知道B C对的,D肯定错,但对A中这个连等 g = p = &ch; 有疑问,这是个什么过程呢?
连等是可以的,但是A选项是错的,因为g指向字符型,p指向整型.
把p改成q后过程如下:
g = q = &ch中只有一个运算符,等号,所以优先级是一样的,而等号的结合性是从右向左的(也就是等式从右往左计算),所以g = q = &ch等同于g =( q = &ch),赋值表达式的返回值是等号左边变量的值,故g和q都指向ch
把p改成q后过程如下:
g = q = &ch中只有一个运算符,等号,所以优先级是一样的,而等号的结合性是从右向左的(也就是等式从右往左计算),所以g = q = &ch等同于g =( q = &ch),赋值表达式的返回值是等号左边变量的值,故g和q都指向ch
下列赋值语句,不正确的是?A.char c='a' B.char c=“a“ C.char c=97 D.int c=‘
下列语句序列执行后,r 的值是 char ch='8'; int r=10; switch( ch+1 ) { case
20.下列方法定义中,正确的是( ).A) int x( ){ char ch='a';
设有定义:int n=0,*p=&n,**q=&p,则下列赋值语句哪个是正确的?A.p=1;B.*q=2;C.q=p;D
7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( ).A) p=1; B) *q
设有int p,q;以下不正确的语句是( ) A.p *=3; B.p/=q; C.p+=3; D.p&&=q;
若有说明int n=2,*p=&n,*q=p;,则以下非法的赋值语句是 A)p=q B)p=n C)*p=*q D)n=
我的式子错在哪?#include#include#include int main(void) { char ch; p
书上的代码看不懂#includemain(){ char ch;int a,b;do{printf("\n exerci
已知char ch;执行语句“while(ch=getchar()!='\n');”时输入“abcde”后,变量ch的值
设有定义:int n=0,*p=&n,**q=&p;则一下选项中,正确的赋值语句是()A,P=1B.*q=2 C.q=p
设有定义int m,n,*p;与语句“m = n;”等价的语句序列是( ).