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;
}


终端输出

输入您要加密的文本:->在此之后,我只能输入无限制的字母
由于我添加了if语句,因此在它起作用之前就开始发生。

最佳答案

您将lengthkey的地址传递给未初始化的函数。然后在功能上,您可以执行以下操作-

 *nyckel = *nyckel + 1;


*nyckel地址没有任何值,您正在尝试读取它(基本上我看不到使用此变量(??))。初始化两个变量,然后再将它们传递给function或in function。

关于c - 使用带头文件的if语句时,我没有得到输出。 [C编程],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39817116/

10-12 16:14