c语言,新人求教,关于解引用的问题

#include
int main(void)
{
const char * mesage = "wo,e";
printf("%s", mesage);
}
为什么不是printf("%s", mesage);?不用解引用吗?

你的问题有问题,看不出你想表达什么

printf中的%s是表示输出字符串,传入的是char *指针,直至遇到'\0'停止输出。如果像你所说的解引用,只会输出首字符“w".

以下是Linux中关于printf关于%s的说明,仅供参考。
s If no l modifier is present: The const char * argument is expected to be a pointer to an array of character type (pointer to a string). Characters from the array are
written up to (but not including) a terminating null byte ('\0'); if a precision is specified, no more than the number specified are written. If a precision is
given, no null byte need be present; if the precision is not specified, or is greater than the size of the array, the array must contain a terminating null byte.

          If an l modifier is present: The const wchar_t * argument is expected to be a pointer to an array of wide characters.  Wide characters from the array are converted to
          multibyte characters (each by a call to the wcrtomb(3) function, with a conversion state starting in the initial state before the first wide  character),  up  to  and
          including  a  terminating null wide character.  The resulting multibyte characters are written up to (but not including) the terminating null byte.  If a precision is
          specified, no more bytes than the number specified are written, but no partial multibyte characters are written.  Note that the precision  determines  the  number  of
          bytes written, not the number of wide characters or screen positions.  The array must contain a terminating null wide character, unless a precision is given and it is
          so small that the number of bytes written exceeds it before the end of the array is reached.

C里面怎么会有引用?那是C++里的吧。