我不知道';当使用带有头文件的if语句时,我得不到应该得到的输出。[C语言编程] 无效测试(字符文本[],字符测试密码[],int*längd,int*nyckel) { int i=0; int j=0; 而(文本[i]!='\0') { i++; } *längd=i-1; 而(文本[j]!='\0') { 如果(text[j]>='a'&&text[j]在这之后什么都没有发生,我可以输入无限个字母
您将我不知道';当使用带有头文件的if语句时,我得不到应该得到的输出。[C语言编程] 无效测试(字符文本[],字符测试密码[],int*längd,int*nyckel) { int i=0; int j=0; 而(文本[i]!='\0') { i++; } *längd=i-1; 而(文本[j]!='\0') { 如果(text[j]>='a'&&text[j]在这之后什么都没有发生,我可以输入无限个字母,c,C,您将长度的地址和键传递给未初始化的函数。然后在函数中执行此操作- void test(char text[], char testCipher[], int *längd, int *nyckel) { int i = 0; int j = 0; while(text[i] != '\0') { i++; } *längd = i - 1; while(text[j] != '\0') { if(text[j] >= 'a' &&am
长度的地址和键传递给未初始化的函数。然后在函数中执行此操作-
void test(char text[], char testCipher[], int *längd, int *nyckel)
{
int i = 0;
int j = 0;
while(text[i] != '\0')
{
i++;
}
*längd = i - 1;
while(text[j] != '\0')
{
if(text[j] >= 'a' && text[j] <= 'z')
{
testCipher[j] = text[j] + 3;
j++;
*nyckel = *nyckel + 1;
}
}
}
int main()
{
char plainText[100];
char cipherText[100];
int length, key;
printf("Enter a text you want to encrypt: ");
fgets(plainText, 99, stdin);
test(plainText, cipherText, &length, &key);
printf("%d\n%s\n%d", length, cipherText, key);
return 0;
}
*nyckel
地址没有值,您正在尝试读取它(基本上我看不到这个变量的用法(?)。在将变量传递到函数或函数中之前,先初始化这两个变量。考虑当文本包含非字母字符时会发生什么情况--
如果
表示您不使用该字符,并且不继续下一个字符(不要增加j
),所以你只需再次循环相同的字符…我初始化了它们,但仍然存在相同的问题。在我使用if语句之前,一切正常。因此,基本上在使用if语句之前,我可以为变量明文提供输入,并获得正确的输出。因此,如果我编写了一个,我将获得输出d,但当我添加if语句时,它停止工作king。请正确格式化您显示的代码。还请删除任何不在您真实代码中的内容。目前情况下,这是一团混乱,sry。我看不到头文件(#include)。主题行令人困惑。
*nyckel = *nyckel + 1;