可以解释一下这个C语言程序每个语句的意思吗?为什么t用指针而s却不用?
#include<stdio.h>voidfun(longs,long*t){longs1=10;s=s/10;*t=s%10;while(s>0){s=s/100;*t...
#include<stdio.h>
void fun(long s,long *t)
{
long s1=10;
s=s/10;
*t=s%10;
while(s>0)
{
s=s/100;
*t=*t+s%10*s1;
s1=s1*10;
}
}
void main()
{
long s,t;
printf("please input s:");
scanf("%ld",&s);
fun(s,&t);
printf("%ld",t);
} 展开
void fun(long s,long *t)
{
long s1=10;
s=s/10;
*t=s%10;
while(s>0)
{
s=s/100;
*t=*t+s%10*s1;
s1=s1*10;
}
}
void main()
{
long s,t;
printf("please input s:");
scanf("%ld",&s);
fun(s,&t);
printf("%ld",t);
} 展开
1个回答
展开全部
程序的作用:取一个正整数的十位、千位、十万位、……组成一个新的正整数。
比如输入「123」的话,输出是「2」;输入是「123456」的话,输出是「135」;输入是「123456789」的话,输出是「2468」。
fun()函数的两个参数,如果你想两个都输入整型、或者都输入指针的话,也完全没问题,相应的代码里取用变量的值的时候,要么是用变量名,要么是星号「*」加指针变量名就可以了。
这里,fun()的第二个参数用指针的原因是,估计是作者不想写返回语句吧。没什么特别的讲究。
自己试着运行几次程序就了解了的。
如有帮助,烦请点采纳,谢谢!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询