用户是否可以在输入中键入null终止符,使用scanf,因此输入的长度为0?
char msg[1000];
scanf("%1000s",msg); // the user would type nothing: '' or '\0'
Run Code Online (Sandbox Code Playgroud)
在许多系统上,答案是"是".
通常,神奇的序列是Control-@.
@的字符代码通常为64,比A(65)的字符代码少一个.Control-A是字符代码1; 少一个是字符代码0,又名'\0'.
请注意,要获得零长度输入,您必须键入空字节作为第一个非空格字符,并且仍然需要按返回以输入输入.您的程序会发现很难可靠地识别空字节后输入的其他内容.
| 归档时间: |
|
| 查看次数: |
3182 次 |
| 最近记录: |