void main() { int i=50,j=60,*p1=&i,*p2=&j; *p1++; printf("%d\n",*p1); (*p1)++; printf("%d\n",*p1);为什么不是书上的60,61呢,是不是哪里出错了?void main(){int ARRAY[]={50,60};int *p1=&ARRAY[0],*p2=&ARRAY[1];*p1++;printf("%d\n",*p1);(*p1)
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/04 06:32:42
void main() { int i=50,j=60,*p1=&i,*p2=&j; *p1++; printf("%d\n",*p1); (*p1)++; printf("%d\n",*p1);
为什么不是书上的60,61呢,是不是哪里出错了?
void main()
{
int ARRAY[]={50,60};
int *p1=&ARRAY[0],*p2=&ARRAY[1];
*p1++;
printf("%d\n",*p1);
(*p1)++;
printf("%d\n",*p1);
}
其实我对指针的理解是没有错的,可能是地址分配有问题吧,数组是连续的地址,换成数组就好了,但为什么前面输出的是地址呢,我用了*取值的呀!
你把i=50,j=60二者的位置调换一下,写成int j=60,i=50,就是书上的结果了.因为有些编译器是把先碰到的变量定义安排在高地址,而把后碰到的变量定义安排在低地址,且一般情况下是紧挨着的.而另一些编译器则相反……其中*p1++由于++是右结合的,所以是给p1++而不是给*p1作++,仅此而已.
#includevoid numplus();void mumminus();void main (){mumplus();mumminus();}void numplus(){for (int i=0;i
#include void main() { int i;int sum=0; for(i=1;i
#include void main(){int a[30];int i;for (i=0,i
#include void main(){int i,j,a=0;for(i=0;i
九九乘法表程序#include void main(){int i,j,a;for(i=1;i
#include void main() { int a[3][3],i,j; for(i=0;i
void main() {int x,i,n=0; for(x=100;i
void main() {int x,i,n=0; for(x=100;i
以下程序中,while 循环的次数是#include void main(void){ int i = 0;while (i
java Loop:public static void main(String[] args){Loop:for(int i=2; i
int main(void) { int k=0; while(k++
void Function() { printf(Call Function!
); } int main() { void (*p)(); *(int*)&p=(int)Function;
# includeusing namespace std;int max(int i,int j){if(i>=j)return i;else return j;}int main(void){couti>>j;cout
#includevoid Func(void);int main(void){int i,n;printf(
input a data:);scanf(%d,&n);for (i=0; i
一般说函数非法定义是因为什么#include#includeconst int M=9;void main(){ void fun1(); void fun2(); int i,j,k; int a[M][M]; for(i=0;ia[i][j]; for(i=0;i
#include void main() { int i=10; printf(%d,%d,%d
,++i,i,i++); printf(%d
,i); }
求1到100的奇数之和,我这样写对吗?# include int main(void){ int i; int sum = 0; for (i=1; i
求素数101-200的#include stdio.h#include math.hvoid main(){int judge(int);int i;for(i=101;i