C语言中scanf后面,什么情况下不加符号&

2022-04-19 科技 773阅读
  首先要先认识scanf()函数:
  函数原型:intscanf(char*format[,argument,...]);
  函数说明:scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘)读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。
  调用格式为:scanf("<格式化字符串>",<地址表>);
  函数返回值:scanf()函数操作成功时,返回成功赋值的数据项数,出错时则返回EOF。
  格式化字串一般包括:%s(字符串)%c(单字符)%d(整数)%lf(double)%f(float),
  后面的argument一定要是地址类型变量,当变量名就是对应的指针变量时,就不需要加&符号了。&是地址运算符,意思是获得变量的地址。如:
  charstr[100];
  inti;
  scanf("%s",str);//str本身就是地址,所以,不需要加&
  scanf("%d",&i);//i不是指针变量,必须要加地址
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com