具体问题如下:
main()
{ char str[5];
scanf(“%s”, str);
printf(“%s”, str);
}
str表示的不是数组的首地址吗?为何输出是printf("%s",str);这样?
嗯,你说的这个我知道。我想问的是:在输出语句printf(“ ”, );中,引号右边的代表的是输出列表。按理说,上面对应的就该是输出的元素名,可为什么输出列表用的是数组的地址呢(也就是指针变量)?
追答只能说是c语言规定的两种输出字符串的方法
大神,实际上我发的是可行的,请自行验证。
追答不好意思啊
printf(格式控制,输出表列),格式控制由要输出的文字和数据格式说明组成。要输出的的文字除了可以使用字母、数字、空格和一些数字符号意外,还可以使用一些转义字符表示特殊的含义。
常用printf(“%d”, &a); 表示后面的必为一个指向地址的
所以printf("%s",str)中str是指向字符串首地址的所以是没问题的
实在不好意思