#include
#include
/************FOUND************/
void fun (long s, long t)
{ long sl=10;
t =s % 10;
while ( s > 0)
{ s = s/100;
*t = *s%10 * sl + t;
/***********FOUND************/
sl = sl*100;
}
}
main()
{ long s, t;
printf("\nPlease enter s:"); scanf("%ld", &s);
fun(s, &t);
printf("The result is: %ld\n", t);
}
这个编程哪里错了,求得是输入一个数字把它的奇数位置数字取出。
函数原型应该是 :void fun (long s, long t)个样子
void fun (long s, long *t)
{ long sl=10;
*t =s % 10;
while ( s > 0)
{ s = s/100;
*t = *s%10 * sl + *t;
/**********FOUND************/
sl = sl*100;
}
}
//帮你稍微改了一下。计算结果对不对,你自己改正一下。
#include
/************FOUND************/
void fun (long s,long t)
{
long sl=10;
*t = s % 10;
while ( s > 0){
s = s/100;
*t += s%10 * sl ;
/**********FOUND************/
sl *= 100;
}
}
main()
{ long s,t;
printf("\nPlease enter s:"); scanf("%ld", &s);
fun(s,&t);
printf("The result is: %ld\n", t);
}
上面函数参数中,t要用指针,即:void fun (long s,long *t)
//重新再写了一下
#include
/************FOUND************/
void fun (long s,long t)
{
long sl=10;
*t = s % 10;
while ( s > 0){
s = s/100;
*t += s%10 * sl ;
/**********FOUND************/
sl *= 100;
}
}
main()
{ long s,t;
printf("\nPlease enter s:"); scanf("%ld", &s);
fun(s,&t);
printf("The result is: %ld\n", t);
}
内存是一个个编好号码的房子,指针就是指这个房子的号码而不是房子里住的人。明白了把
奇怪,我明明写的是void fun (long s,long t),一提交就变成void fun (long s,long t)。不知道为什么。我还以为第一次提交的时候漏掉了“”号。总之,参数t是long指针。
#include <stdio.h>
/************FOUND************/
void fun (long s,long *t)
{
long sl=10;
*t = s % 10;
while ( s > 0){
s = s/100;
*t += s%10 * sl ;
/***********FOUND************/
sl *= 100;
}
}
main()
{ long s,t;
printf("\nPlease enter s:"); scanf("%ld", &s);
fun(s,&t);
printf("The result is: %ld\n", t);
}
终于搞明白了。代码要用插入代码片。向上面那样。