【问题标题】:Handling blank spaces with scanf() function in C [duplicate]在C中使用scanf()函数处理空格[重复]
【发布时间】:2018-10-29 00:03:54
【问题描述】:

我有以下问题。我想以下列格式从 scanf 扫描三个点:{[4;-1],[7;1.5],[4;4]}。我的代码如下所示:

scanf("{[%lf;%lf],[%lf;%lf],[%lf;%lf]}", &a1, &a2, &b1, &b2, &c1, &c2)

现在,我实际上正在测试这是正确的转换,以便进一步使用它。但我想允许用户输入这样的内容

{ [ 4 ; -1 ] , [ 7 ; 1.5 ] , [ 4 ; 4 ] }

甚至

    {  [ 


     4 ; 

     -1 ] ,  [ 7 ;                         1.5 ] , [   4 ; 4 


] } 

所以 scanf() 仍然能够给我 6 次正确的转换。我该怎么办?

【问题讨论】:

标签: c scanf


【解决方案1】:

为了允许空白,在每个非空白之前有一个空白。

// "{[%lf;%lf],[%lf;%lf],[%lf;%lf]}"
" { [%lf ;%lf ] , [%lf ;%lf ] , [%lf ;%lf ] }"

代码还可以在"%lf" 之前添加一个空格,但这不会改变功能,因为该说明符已经使用了可选的前导空格。

" { [ %lf ; %lf ] , [ %lf ; %lf ] , [ %lf ; %lf ] }"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-24
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 2013-03-04
    相关资源
    最近更新 更多