如何解释下面这段C语言程序?特别是if((i=n/10)!=0) f(i)这段话?#includemain(){void f(int n);int m;printf("Please enter a number:\n");scanf("%d",&m);f(m);return 0;}void f(int n){int i;if((i=n/10)!=0)f(i);putchar(n%10+'0');}
来源:学生作业帮助网 编辑:作业帮 时间:2024/10/05 14:53:09
如何解释下面这段C语言程序?特别是if((i=n/10)!=0) f(i)这段话?#includemain(){void f(int n);int m;printf("Please enter a number:\n");scanf("%d",&m);f(m);return 0;}void f(int n){int i;if((i=n/10)!=0)f(i);putchar(n%10+'0');}
如何解释下面这段C语言程序?特别是if((i=n/10)!=0) f(i)这段话?
#include
main()
{
void f(int n);
int m;
printf("Please enter a number:\n");
scanf("%d",&m);
f(m);
return 0;
}
void f(int n)
{
int i;
if((i=n/10)!=0)f(i);
putchar(n%10+'0');
}
如何解释下面这段C语言程序?特别是if((i=n/10)!=0) f(i)这段话?#includemain(){void f(int n);int m;printf("Please enter a number:\n");scanf("%d",&m);f(m);return 0;}void f(int n){int i;if((i=n/10)!=0)f(i);putchar(n%10+'0');}
这段程序作用是能将任意一个数的最高位以ASCII码字符的方式输出来. 比如你输入一个4321,它能输出4的ASCII码 '4'. if((i=n/10)!=0) f(i)这句话的意思就是先将n整除10后的值赋给i,再判断i与0的关系,如果为0,则不执行f(i),否则再次调用f(i),此时相当于递归调用.