一段c语言程序不理解

来源:百度知道 编辑:UC知道 时间:2024/06/15 04:46:20
# include<stdio.h>
int t;
int sub(int *s)
{ *s+=1;
t+=*s;
return t;
}

main()
{ int i;
for(i=1;i<4;i++)
printf("%4d",sub(&i));
}
能不能解释一下运行的结果啊?谢啦!

# include<stdio.h>
int t;
int sub(int *s) //参数是一个int型的指针类型
{ *s+=1; //让s的值加1
t+=*s; //把s的值赋给t,(注意这里没有初始化,是不好的,应该初始化一下,例如在主函数中 t = 0;)
return t; //
}

main()
{ int i;
for(i=1;i<4;i++) //进行四次打印操作
printf("%4d",sub(&i)); //sub(&i) 为调用sub函数,参数为i,因为这个函数的参数是指针,所以要用"&i"
}

指针方面的,不难啊。