| 
 | 
 
50鱼币 
 本帖最后由 风之残月 于 2014-11-10 10:10 编辑  
 
源码:#include <stdio.h> 
#define N 8 
 
int main() 
{ 
        void now( int *a);                                        //输出原本数组中的数 
        void judge( int *b);                                //输入数字判断符合规定 
        void concer( int *i[], int j); 
        int a[8] = { 1, 2, 3, 4, 5, 6, 7, 8}; 
        int b; 
        printf("数组中现在的数据是:\n"); 
        now( a); 
        printf("\n依次向后挪动几位(0~8):"); 
        judge( &b); 
        printf("挪动后,数组中的数据是:\n"); 
        concer( a, b); 
        getch(); 
        return 0; 
} 
 
void now( int *a) 
{ 
        int i; 
        for ( i = 0; i < N; i++) 
        { 
                printf("   %d",*(a++)); 
        } 
} 
 
void judge ( int *b) 
{ 
        int q; 
        while( N ) 
        { 
                scanf("%d",&q); 
                if( q <= 8 ) 
                { 
                        *b = q; 
                        break; 
                } 
                printf("请重新输入:"); 
        } 
} 
 
void concer( int *i[], int j) 
{ 
        int x; 
        for ( x = 0; x > j; x++ ) 
        { 
                printf("dawd"); 
        } 
} 
 
编译时没错,执行的时候没有像要得到的结果 
前面都没错就是最后一个dawd打不出来 
我有试过void concer( int *i[], int j) 
{ 
        int x; 
        printf("%d",j); 
        for ( x = 0; x > j; x++ ) 
        { 
                 
        } 
} 
这样却能打印出 j 的值 
 
 
大神啊,我看可能是循环里错了,但我实在看不出哪错呀??求助呀呀!!!(注:我用的是vs,前面的结果都是符合的,就最后一个执行时什么也没打印) 
 |   
 
 
 
 
 
 |