我有以下问题。我想用以下格式扫描来自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次正确的转换。我该怎么办?
答案 0 :(得分:2)
要留有空格,请在每个非空格之前添加一个空格。
// "{[%lf;%lf],[%lf;%lf],[%lf;%lf]}"
" { [%lf ;%lf ] , [%lf ;%lf ] , [%lf ;%lf ] }"
代码也可以在"%lf"
之前添加一个空格,但这不会改变功能,因为该说明符已经占用了可选的前导空白。
" { [ %lf ; %lf ] , [ %lf ; %lf ] , [ %lf ; %lf ] }"