1. scanf \n 问题
今天写程序手抖在scanf函数中加入了\n(回车的转义字符),导致出现了诡异的结果。
本来要写 : scanf("%d%d", &i, &j);
错写成了: scanf("%d%d\n", &i,&j);
结果就是在输入测试用例时,输入i和j的值后程序没有反应,需要再次输入一个(非回车)的任意值,才能正常运行。
原因是,scanf从左向右接收数据,遇到\n会先换行,再接收数据,最后结束函数。这样你就得输入一个任意字符。
1. scanf \n 问题
今天写程序手抖在scanf函数中加入了\n(回车的转义字符),导致出现了诡异的结果。
本来要写 : scanf("%d%d", &i, &j);
错写成了: scanf("%d%d\n", &i,&j);
结果就是在输入测试用例时,输入i和j的值后程序没有反应,需要再次输入一个(非回车)的任意值,才能正常运行。
原因是,scanf从左向右接收数据,遇到\n会先换行,再接收数据,最后结束函数。这样你就得输入一个任意字符。