放疗副作用有哪些:c语言 一点小问题。

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/03 08:07:54
scanf("%d%d%d",&i,&j,&k);
和scanf("%d%d%d",i,j,k);
有何区别

scanf("FormatString",V);
对于V:是变量的地址,用取地址符“&”对变量取地址。

int i,j,k;
scanf("%d%d%d",&i,&j,&k);
/*或者*/
int a,b,c;
int *i,*j,*k;
i=&a;j=&b;k=&c;
scanf("%d%d%d",i,j,k);

当i,j,k是变量的时候,想要输入三个数分别放到i,j,k中,则应在输入变量前面取地址符号,也就是& 。
例:
int i,j,k;
scanf("%d%d%d",&i,&j,&k);
当i,j,k是指针,或是数组名时。因为它们本身已经指向了地址,就无须添加取址符号,就可以直接输入i,j,k。
例:
int a,b,c;
int *i,*j,*k;
i=&a;j=&b;k=&c;
scanf("%d%d%d",i,j,k);

当然有区别
前面加&的表示取变量的地址,然后将读入的数据存入该地址;
而不加&的表示把变量值作为地址,直接读入数据!

&是取地址符号
如果没有那就无法写入地址中
所以scanf("%d%d%d",i,j,k); 是无法将读入的数据存入地址的,是错误的写法