2014-02-09 40 views
-1

這是我用於ROT13密碼的代碼。 它與大寫,但是當我在招呼給作爲輸入,它返回[X__b誰能幫助我在這裏...c中的ROT13加密代碼出現小寫錯誤

void encrypt(char *cipher,int key) 
{ 
    int i = 0; 
    while(cipher[i] != '\n') 
    { 
     if(isalpha(cipher[i])) 
     { 
      if((cipher[i] + key) > 'Z' || (cipher[i] + key) > 'z') 
      { 
       cipher[i] = cipher[i] + key - 26; 
      } 
      else if((cipher[i] + key) >= 'a' && (cipher[i] + key) <= 'z') 
      { 
       cipher[i] = cipher[i] + key; 
      } 
      else if((cipher[i] + key) >= 'A' && (cipher[i] + key) <= 'Z') 
      { 
       cipher[i] = cipher[i] + key; 
      } 
     } 
     i++; 
    } 
} 
+0

東西非常錯誤的發生的事情與你的大括號... –

+0

的括號罰款這只是我的代碼部分,那裏是一個問題 – Ram

+0

好了,在這種情況下,一些很有說服力ong正在進行縮進...... –

回答

2

這種情況

f((cipher[i] + key) > 'Z' || (cipher[i] + key) > 'z') 

將適用於所有小寫字母,第二部分(cipher[i] + key) > 'z'是多餘的

+0

感謝雙胞胎我改變了它,現在它工作正常 乾杯:D – Ram