用户可以在使用scanf的输入中键入空终止符,以便输入的长度为0吗?

char msg[1000];
scanf("%1000s",msg); // the user would type nothing: '' or '\0'

最佳答案

在许多系统上,答案是"is"。

通常,魔术序列是Control- @。

@的字符代码通常为64,比A(65)少一个。控件A是字符代码1;少一位是字符代码0,又名'\0'

请注意,要获得零长度输入,您必须输入空字节作为第一个非空格字符,并且仍然需要按回车键才能输入。您的程序会发现很难可靠地识别在空字节之后输入的其他内容。

10-04 10:11