scanf printf

今天替战神助教,发现C语言scanf 一个问题还没掌握好。

int x, char c;//warning
long int k;
scanf(“i=%d c=%c”,&x,&c);
scanf(“k=&ld”,&k);

“%d”=” %d”=” \t %d”
也即%前面的若干个whitespace都是可以丢弃的

但是”i=%d”!=” i=%d”
所以前面的字符需要精确匹配,然后%紧接着前面的可以忽视掉一些whitespace,

“i=%d”=”i= %d”

并且scanf是以\n作为抽取输入流的结束符的例如

scanf(“%d\n”,&x)
先输入2 然后输入\n 匹配,最后再\n来表示输入流的结束

助教答疑的过程可以使自己查漏补缺,同时下次自己班的助教直接把问题写在黑板上,然后就可以避免那么多人问了。: )

Posted by richard爱闹 - 9月 30 2014
如需转载,请注明: 本文来自 Richard