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语句,因此在它起作用之前就开始发生。
最佳答案
您将length
和key
的地址传递给未初始化的函数。然后在功能上,您可以执行以下操作-
*nyckel = *nyckel + 1;
*nyckel
地址没有任何值,您正在尝试读取它(基本上我看不到使用此变量(??))。初始化两个变量,然后再将它们传递给function或in function。关于c - 使用带头文件的if语句时,我没有得到输出。 [C编程],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39817116/