2013-10-13 70 views
-4

[我使用下面的代码如何通过refrence在Turbo C /传递一个字符串C++

void fix_filename(char[], char[], int); 

int main(){ 
    int i; 
    char k,l[100]; 

    cin >> i; 
    fix_filename(l,"books",i); 
    cout << "Stringis: "; 
    puts(l); 

    return 0; 
} 

void fix_filename(char k[] ,char pre[] ,int n){ 
    int i = 0, div, r = 0, pk; 
    char temp, str[100]; 
    div = n; 

    while(div!=0){ 
     r = div % 10; 
     k[i] = 48+r; 
     div=div/10; 
     i++; 
    } 

    k[i] = '\0'; 

    pk = strlen(k); 

    for(i=0;i<pk/2;i++){ 
     temp = k[i]; 
     k[i] = k[pk-i-1]; 
     k[pk-i-1]=temp; 
    } 

    k = strcat(pre,k); 
} 

但我的串充满了垃圾值(字符串L [100])..如何使它通过turbo c/C++参考?

我使用turbo c/C++的原因是,它是assigment,我不能使用任何其他编译器。

我期望字符串(l)的输出是books121,其中121是输入。

+2

'C/C++'不是一种语言。选一个。这两种语言的惯用解决方案会有很大差异。 – 2013-10-13 13:42:16

+0

你能给出一个你期望在哪个变量中得到的输出的例子吗? –

+0

C++/C任何这些..喜欢C++请 – user2876151

回答

1

在C,编译器解释函数声明

void fix_filename(char [] ,char [] ,int); 

void fix_filename(char * ,char * ,int); 

这意味着你需要传递指针cahrchar *)给你的函数。但你正在通过char l你的功能。

fix_filename(l,"books",i); 
+0

请再看一遍,我通过了一个char数组,'l [100]' – user2876151

+0

不要试图让我变傻。您已编辑您的问题。仍然'我'不是一个数组。 – haccks

+0

我没有这个意思..对不起,如果这冒犯了你。我的意思是我尝试过,你可以看到我的评论@top,我从来没有打算让'我'一个数组..我希望它只是int。 – user2876151

1
void fix_filename(char k[] ,char pre[] ,int n) 

在你想免费获赠char[]作为第一个参数,并在main()这个功能,你通过单个字符

我建议你学好你讲课比较多,并且使用好的编译器。

+1

更长的变量名称也不会伤害。 – john

+0

这是错误的..我在原代码中使用了'char l [100]'.. – user2876151

相关问题