%s是输出为什么不需要取地址符号

  1. scanf()函数的参数必须是 指针,也就是 内存地址
  2. printf()函数的参数必须是数值。
  3. 数组的变量名就是内存的地址
  4. %s对应的是输入一个字符串,需要提供一个字符数组来存储,数组名是一个地址,不用加&取地址的
#include 
#include 
int main()
{int a;     // 定义一个变量char b[3]; // 定义一个字符数组int *str=(int *)malloc(sizeof(char)*4);  // 定义字符串并分配内存单元scanf("%d %c %s", &a, b, str);//注意数组b的输出 printf("\n	%d\n	%c\n	%s\n",a,*b,str);printf("%c\n",b[0]);
}

%s输出的时候把字符数组看成是一个变量(字符串),就相当于b[0]+b[1]+b[2]=c[0],%s 输出的是c[0]


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部