首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

输入字符串中包含控制字符,scanf如何避免

2012-12-29 
输入字符串中包含控制字符,scanf如何处理?char a[10]scanf(%s,a)我输入:1234[ctrl+z]56781234结果发现

输入字符串中包含控制字符,scanf如何处理?


    char a[10];
    scanf("%s",a);


我输入:

1234[ctrl+z]5678
1234

结果发现:a[10]中的数据是:1,2,3,4,1,2,3,4,\0

这个怎么理解?
[解决办法]
这个还真不知道。同问。
不过在控制台模式下CTRL+Z似乎是结束的意思。
[解决办法]
debug open assemble language, step by step, see what will write to a[]
[解决办法]
标准输入流是基于行缓冲的,%s以空格(' ', '\t', '\r', '\n', EOF)结束输入。
输入"1234[Ctrl+z]5678[Enter]"后,1234[Ctrl+z]被接受,5678[Enter]被丢弃。
接着输入1234[Enter],1234被接受,遇到空格('\n'),结束输入。

热点排行