答案是:①:&n;②:m%10;③:m/10;④:m!=0;⑤:return r(m)。
scanf的输出格式规定,输出的变量前要加&,所以第一个空的答案是:&n。
由于是逆序输出,所以当“12345”传到r函数时,先输出个位,通过12345%10得到个位,所以第二处的答案是:m%10。
由于已经把个位输出,所以要把变量的个位进行去掉,通过除以10去掉个位,故第三空的答案是:m/10。
删除变量最后一位的数字后,需要判断是否为0,如果为0就不需要计算,直接返回结果,所以第四空的答案是:m!=0;第五的答案是:return r(m)。
通过补全修改代码,并在电脑的vc6.0中进行运行(如下图),得到结果,并验证了答案代码的正确。
扩展资料:
注意事项:
1、理解题目意思很重要,在根据题目补充代码时,要根据上下文推敲,如本题中:scanf("%d", ① );,就可根据scanf的使用规则,进行推出答案&n。
2、注意中英文的分号,代码中出现中文分号结尾,会报错。且在电脑书写代码时,大部分人都会遇到过这个错误,所以在打分号时要注意输入法。
3、注意格式,在书写代码时,要注意换行和空格,好的格式可以一眼看出代码的结构,可以选择每行写一句代码。
第一处:&n
第二处:m
第三处:m-1
第四处:m!=0
第五处:return r(m)
楼主这题符号全是用中文符号的,我一运行,30多个错,哈哈,然后把符号改了就好了。。没问题了
main()
{
int n;
printf("Input n : ");
scanf("%d",&n);
r(n);
printf("\n");
}
r( int m )
{ printf("%d",m%10);
m =m/10;
if( m!=0)
return r(m);
}