2014-03-19 4 views
-4

2 차원 배열 포인터를 반환하고 인수로 2 차원 배열을 사용하는 함수가 호출 된 프로그램을 작성했습니다. 하지만 어떻게 든 함수를 실행하는 동안 호출되지 않습니다. 나는 그것을 알아낼 수 없다. 어떤 제안함수가 호출되지 않았습니다

#include <stdio.h> 
#include <stdlib.h> 
signed char** complement(signed char no_of_variables[20][20]); 
int main(void) 
{ 

    FILE *ptr_file; 
    FILE *ptr_file1; 
    FILE *ptr_file2; 
    signed char **no_of_variables_or3; 
    //signed char **no_of_variables_or2; 

    signed char i, j, k, w; 
    signed char no_of_variables[20][20], no_of_variables2[23][1000]; 
    //char no_of_sops[1]; 
    //char a = no_of_sops[0]; 

    //char value[a][10]; 
    ptr_file = fopen("part1.txt", "r+"); 
    if (!ptr_file) 
    return 1; 
    for (i = 0; i < 2; i++) 
    { 
    fgets(no_of_variables[i], 20, ptr_file); 
    } 
    for (i = 0; i < no_of_variables[1][0]; i++) 
    { 
    fgets(no_of_variables[i + 2], 20, ptr_file); 
    } 

    fclose(ptr_file); 

    signed char var = 2 + (no_of_variables[1][0] - 48); 
    for (i = 0; i < (var); i++) 
    { 
    for (j = 0; j < 20; j++) 
    { 
     no_of_variables[i][j] = no_of_variables[i][j] - 48; 
    } 
    } 

    for (i = 0; i < 23; i++) 
    { 
    //for(j=0;j<1000;j++){ 
    // outputarray[i][j] = " "; 
    printf("val%d\n", no_of_variables[i][0]); 
    } 

    no_of_variables_or3 = complement(no_of_variables[20][20]); 

    FILE *optr_file; 
    optr_file = fopen("output_part1.txt", "r+"); 
    if (!optr_file) 
    return 1; 
    for (i = 0; i < 2; i++) 
    { 
    fputs(no_of_variables_or3[i], optr_file); 
    } 
    for (i = 0; i < no_of_variables_or3[1][0]; i++) 
    { 
    fputs(no_of_variables_or3[i + 2], optr_file); 

    } 
    fclose(optr_file); 
    return EXIT_SUCCESS; 
} 
+1

가장 좋은 제안은 코드를 보도록하겠습니다. –

+3

코드를보고 오류를 찾을 수 없다면 어떻게 보지 않고도 그 코드를 찾을 수 있을까요? o.O – haccks

+0

코드를 게시하거나 직접 알아 내십시오. –

답변

0

변경이 라인 :

no_of_variables_or3 = complement(no_of_variables[20][20]); 

가 될이 :

no_of_variables_or3 = complement(no_of_variables); 

컴파일러는 경고를 실행하여이 당신을 지적한다.

+0

@steve 나는 no_of_variable_or3을 선언했습니다. – user3438412

+0

반환 된 값을 할당하는 데 실수가 있습니까? – user3438412

+0

당신이 보여주는 것은 괜찮아 보입니다. 이해가된다면'complement()'의 내부에서 무슨 일이 일어나는가에 달려있다. – alk

관련 문제