我正在制作一个小型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;
}
答案 0 :(得分:2)
您的getText
函数会读入本地变量array
,之后您再也不会对该数组执行任何操作,因此输入会丢失。
可能您打算阅读参数a
。