主题:C语言输出结果和自己想的不是很一样。。。
#include<stdio.h>
int do_what(int x,int y){
char t;
t=x;
x=y;
y=t;
return t+y;
}
int main(){
int u[]={19,8,510,0x6,123,4,13,2,17,0};
char a=522;
char b=4;
int i=0;
int *y;
int *z;
int *w;
w=u;
y=&a;
z=&b;
if(w=z) w==z;
printf("[1]: %d %d\n",do_what(u[2],u[3]),w[0]);
for(i=0;i<5;i++)
printf("Pos: %u %d\n",i,*(w+i));
printf("\n");
return 0;
}我觉得最后显示的应该是u里面的一些数字,为什么最后显示的却是-17404之类的呢?
int do_what(int x,int y){
char t;
t=x;
x=y;
y=t;
return t+y;
}
int main(){
int u[]={19,8,510,0x6,123,4,13,2,17,0};
char a=522;
char b=4;
int i=0;
int *y;
int *z;
int *w;
w=u;
y=&a;
z=&b;
if(w=z) w==z;
printf("[1]: %d %d\n",do_what(u[2],u[3]),w[0]);
for(i=0;i<5;i++)
printf("Pos: %u %d\n",i,*(w+i));
printf("\n");
return 0;
}我觉得最后显示的应该是u里面的一些数字,为什么最后显示的却是-17404之类的呢?