1. scanf("%f %c %f",&value1, &operater, &value2); 【1】与 scanf("%f%c%f",&value1, &operater, &value2); 【2】
【1】中%f 和 %c间有一个空格,该空格表示我们将略去输入中该位置的任意多个空格、tab、enter。因此,用户在输入时,可以用空格将数时操作符分开(当然不加也OK的),而【2】中该位置没有空格,输入时也是不可以加空格的,否则空格会被当做操作符输入。 另,当scanf函数读入一个整型数或浮点数时,数字前面的空格总是被忽略掉,故【1】与 scanf("%f %c%f",&value1, &operater, &value2); 等价!
程序编写过程中,遇到此情况,强烈建议使用法【1】,功能全,可读性强!
2.