- 论坛徽章:
- 0
|
太感谢了,解决了。不过问题又来了:
这是为啥呢,而且我还有两个函数,完整版如下:
//////////////switch.c
#include<stdio.h>
#include<string.h>
//十进制转换到N进制,转换后进制应该小于10。
char t2n_tmp[100];
char* t2n(long s,int n){
int i=0,j=0;
while(s>=n){
t2n_tmp[i++]=s%n+'0';
s/=n;
}
t2n_tmp=s%n+'0';
//以上结果为倒序的,此处反转顺序。
while(j<i/2){
char ctmp=t2n_tmp[j];
t2n_tmp[j]=t2n_tmp[i-j];
t2n_tmp[i-j]=ctmp;
++j;
}
return t2n_tmp;
}
//N进制转换到十进制,转换前进制小于10
long n2t(char* s,int n){
int finger=1,i;
long result=0;
for(i=strlen(s)-1;i>=0;i--,finger*=n)
result+=(long)((s-'0')*finger);
return result;
}
//////main.c
#include<stdio.h>
#include"myfunc.h"
//测试其他函数的主函数
int main(int argc,char** argv){
//1.t2n()函数测试
int in_ten=65535,n=2;
printf("输入数字为%d,转换为%d进制为%s\n",in_ten,n,t2n(in_ten,n));
//2.t2n()函数测试
char* in_b="10011010010";
int m=2;
printf("输入数字为%s,转换为%d进制为%ld\n",in_b,m,n2t(in_b,n));
//工资计算
float sal=12000.0;
float sall=solary(sal);
printf("销售额12000,工资为%.2f\n",sall);
//The End And ToBeContinued!!!!!!!
return 0;
}
///////////myfunc.h
char* t2n();
long n2t();
float solary();
上面两个函数没问题,但是就是solary这个有问题,必须在头文件中定义成float solary(float sal);
这种情况是为啥呢?大神
回复 2# folklore
|
|