为什么结果总是/ 254?

时间:2015-03-13 00:52:20

标签: c

我正在制作一个小型C项目来实现加密。我认为其中大部分都已完成。它也可以成功运行。但结果总是一样的。我认为可能是因为我错误地放置了n=i%4,但我调整它似乎是一样的。无论我输入什么,答案总是/254

有什么问题?

#include <stdio.h>
#include <stdlib.h>
int getText( char a[])
{
    char array[80];
    int i=0;
    printf("type your sentence\n");
    while( (array[i++]=getchar()) != '\n' ){}
    return i;
}

void EncryptArray(char a[], int length)
{   int i, n = 0;
    n = i%4;
    char row1[100], row2[100],row3[100];
    for (i=0; i<length; i++)
    {
        if (n==0) {
            row1[i]= a[i];
        }
        if (n==1 || n==3) {
            row2[i]=a[i];
        }
        if (n==2) {
            row3[i]=a[i];
        }
    }

    i=0;
    do {
        a[i]=row1[i];
        i++;
    } while (n=0);
    i=0;
    do {
        a[i]=row2[i];
        i++;
    } while (n==1 || n==3);
    i=0;
    do {
        a[i]=row3[i];
        i++;
    } while (n==2);
}

void PrintEncryptedArray(char a[], int length)
{
    printf("%s",a);
}

int main()
{   char a[80];
    int y;
    y=getText(a);
    EncryptArray(a, y);
    PrintEncryptedArray(a, y);
    return 0;
}

1 个答案:

答案 0 :(得分:2)

您的getText函数会读入本地变量array,之后您再也不会对该数组执行任何操作,因此输入会丢失。

可能您打算阅读参数a