%s是输出为什么不需要取地址符号
- scanf()函数的参数必须是 指针,也就是 内存地址
- printf()函数的参数必须是数值。
- 数组的变量名就是内存的地址
- %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]
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
