第六课第三个疑问,请高手解答一下
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
static TCHAR szBuffer[] = TEXT("Hiding from the rain and snow.\n \
Trying to forget but I won't let go.\n \
Looking at a crowded street.\n \
Listening to my own heart beat.\n\n \
So many people all around the world.\n \
Tell me where do I find someone like you girl.");
switch (message)
{
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
GetClientRect(hwnd, &rect);
DrawText(hdc, szBuffer, -1, &rect, DT_CENTER | DT_WORDBREAK | DT_EDITCONTROL);
EndPaint(hwnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}
-------------------------------------------------------------------------------------------------
为什么\n后面还有个\,删掉后面这个\就会出错 在C语言中,反斜杠(\)被用作转义字符,用于表示特殊字符或特定的字符序列。在这段代码中,\n代表换行符。
在字符串常量中,如果想要在文本中插入一个反斜杠字符,需要使用两个反斜杠(\\)来表示。因此,如果删除代码中的\,会导致编译错误。
所以,这段代码中的\是用来转义反斜杠字符本身,以确保字符串常量中的\n被正确解释为换行符。 isdkz 发表于 2023-8-10 22:46
在C语言中,反斜杠(\)被用作转义字符,用于表示特殊字符或特定的字符序列。在这段代码中,\n代表换行符。 ...
请假一下为什么这里是\n \而不是\\n 常德水鱼村 发表于 2023-8-10 22:49
请假一下为什么这里是\n \而不是\\n
\n是换行,\\n是反斜杠加n,这两个不一样 常德水鱼村 发表于 2023-8-10 22:49
请假一下为什么这里是\n \而不是\\n
请问一下,这个\n换行,那么后面那个\是什么意思,删除就报错。还是window的换行符号是\n\ 常德水鱼村 发表于 2023-8-10 22:52
请问一下,这个\n换行,那么后面那个\是什么意思,删除就报错。还是window的换行符号是\n\
\表示这一行代码没有结束,接着看下一行的,\去掉就相当于这行代码在字符串之间断了 准确的说是
一行字符串太长想换到下一行的时候在相应的地方加上 \ 。
就如
"abcdef" 想把 "def" 在一下行输
那么就在c后面加\
"abc\
def" ba21 发表于 2023-8-10 23:33
准确的说是
一行字符串太长想换到下一行的时候在相应的地方加上 \ 。
就如
不一定是字符串,c中也可以这样
pri\
ntf("\
hi");
不过不能有缩进 歌者文明清理员 发表于 2023-8-10 23:59
不一定是字符串,c中也可以这样
不过不能有缩进
这样不行吧。
是不是你的编译器比效特殊?你再去看看。
页:
[1]