C语言翻译数字成英文单词的编程

#include<stdio.h>
void transLate(char * from,char * to);
int main()
{
char num[20];
char eng[11][10]={"zero","two","three","four","five","six","seven","eight","nine","ten"};
int i;

printf("please enter a string of number: ");
gets(num);
for(i=0;num[i]!='\0';i++)
{
transLate(num,eng);
printf("、");
}
printf("\n");

return 0;
}
void transLate(char * from,char * to)
{
printf("%s",to[from-'1']);
}
最新回答
局外亾

2024-10-15 05:31:44

void transLate(char * from,char * to)
{
printf("%s",to[from-'1']);
}
整个函数是错的

传入的第二个参数应该是char**to
第一个参数char*from没有转换成int类型,不可以这样使用,会造成segmentation fault
星雪伊

2024-10-15 05:15:06

指针别乱用知道不?
追问
如果我一定要用指针?
追答

无知的人呀,你这是要找死呀!

像你这样的新手,上帝都救不了你!


追问
呵呵 那该怎么办呢 我想用指针呢
追答

我指出以下几点:

  1. C11语法 基本和概念 掌握的不熟练

  2. 不符合代码规范

    国内的C语言教材基本上是渣 什么变量i,j,k的都是有问题的。潭浩强的书不知道被多少人骂了。

  3. 指针的话有专门讲解指针的,你自己看吧。

    

    

追问
请问现在还用从free5,以后得要用vb,求下载地址,哪个版本好点也不知道呢?
追答
VS 包函了一大堆你用不到的东西,想什么都要的,你就装它吧,并且启动很慢。
C free就一外壳,想要学到精华,你得启动mingw 启用c11特性,和强大的gdb调 试工具。