若有说明:int i,j=5,*p=&i;则与i=j等价的语句是()答案是*p=*&j为什么是这样的?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 22:19:27
若有说明:int i,j=5,*p=&i;则与i=j等价的语句是()答案是*p=*&j为什么是这样的?

若有说明:int i,j=5,*p=&i;则与i=j等价的语句是()答案是*p=*&j为什么是这样的?
若有说明:int i,j=5,*p=&i;则与i=j等价的语句是()
答案是*p=*&j为什么是这样的?

若有说明:int i,j=5,*p=&i;则与i=j等价的语句是()答案是*p=*&j为什么是这样的?
因为这里的p为int指针型,而&j是取j的地址,所以不能左右赋值,在&j前面加上*即为将取这个地址上的j的值5.

若有说明:int i,j=5,*p=&i;则与i=j等价的语句是()答案是*p=*&j为什么是这样的? 在 C 语言中,若有以下定义和赋值语句int b[2][3]={0} (*p)[3]; p=b; 则对 b 数组的第 i 行第 j 列(假如 i,j 已正确说明并赋值)元素的非法引用为___________A、*( *(p+i)+j) B、*(p[i]+j) C、*(p+i)+j D、(*(p+i))[j] int i,j=2;*p=&i;*p=(*&j+1)^j; i=? 若有说明:int i,j=7,*p=&i;,则与i=j; 等价的语句是( ).A.i= *p;B.*p=*&j; C.i=&j; D.i=* *p;有一个问题没有搞清楚:根据int i 得 i 是一个数,而&i则表示一个地址,而*p表示一个指针变量,表示一个数了.上面 main(){int i=5,p=(i++)+(i++)+(i++);q=(++j)+(++j)+(++j);printf(%d,%d,%d,%d,p,q,i,j);} 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是 A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0 二维数组的等价问题*若有以下定义和赋值语句,则与&s[i][j]等价的是().int s[2][3]={0},(*p)[3],i,j;p=s; i=j=1;A) *(*(p+i)+j)B) *(p[i]+j)C) *(p+i)+j D) (*(p+i))[j ] C语言 p=(i++)+(i++)+(i++); q=(++j)+(++j)+(++j);void main(){  int i=5,j=5,p,q;  p=(i++)+(i++)+(i++);  q=(++j)+(++j)+(++j);  printf(%d,%d,%d,%d,p,q,i,j);  }对P=(i++)+(i++)+(i++)应理解为三个i相加,故P值为15.然后i再 若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是( ) 34、有以下程序 int f(int b[][4]) { int i,j,s=0; for(j=0;j2) i=3-j; s+=b[i][j]; 麻烦说明详细原因.谢谢34、有以下程序 int f(int b[][4]) { int i,j,s=0; for(j=0;j2) i=3-j; s+=b[i][j]; } return s; } main( ) { int a[4 这两个程序有什么区别呢?#include void swap( int *p,int *q){ int *t;*t=*p; *p=*q; *q=*t;}main(){ int i=10,j=20,*a=&i,*b=&j;swap(a,b); printf(i=%d j= %d ,i,j );}B)#include void swap( int *p,int *q){ int t;t=*p; *p=*q; *q=t;}main(){ int i 改错题:共有5处错误#include #define N 15int move(int w,int p,int n){ int i,j,t;for(i=p;i=0;j--) w[j+1]=w[j]; w[0]=t;}void main(){ int k; int a[N];printf( lnput data:);for(k=0;k 下面这个程序哪里有语法问题#include #define N 10void sele(int*p){int i,j,t;for(i=0;i int I; int &j=I;I=5;j=I+1;则I=_______,j=_______.为什么i也是6 有以下程序void sort(int a[],int n){ int i,j,t;for(i=0;i for( int i=0,j=1; j < 5; j+=3 ) i=i+j; 为什么等于5 题一:#include void main() { int a=8,i=5,j=5,c=1,d=10,p,q; p=(i++)+(i++)+(i++); q=(++j)+(题一:#includevoid main(){int a=8,i=5,j=5,c=1,d=10,p,q;p=(i++)+(i++)+(i++);q=(++j)+(++j)+(++j);printf(%d,%d,%d,%d ,p,q,i,j);}此代码在TC下编译,q 求高手解释一下这段程序#include class Test {int x,y; public: Test(int i,int j=0) {x=i;y=j;} int get(int i,int j) {return i+j;} }; void main() {Test t1(2),t2(4,6); int (Test::*p)(int,int=10); p=Test::get; cout