程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-問題:輸入一個錯位後的字符串,輸出打字員本來想打出的句子。(將輸入的字母在鍵盤上左移一位)

c語言-問題:輸入一個錯位後的字符串,輸出打字員本來想打出的句子。(將輸入的字母在鍵盤上左移一位)

編輯:編程綜合問答
問題:輸入一個錯位後的字符串,輸出打字員本來想打出的句子。(將輸入的字母在鍵盤上左移一位)

#include
char *s = "1234567890-=QWERTYUIOP[]\ASDFGHJKL;'ZXCVBNM,./";
int main()
{
int i, c;
while ((c = getchar()) != EOF)
{
for (i = 1; s[i] && s[i] != c; i++);
{
if (s[i])
putchar(s[i - 1]);
}
}
return 0;
}

問題是
如果我輸入一個Q,這裡的if循環中的i為什麼從1直接跳到12的位置
為什麼不是i=1,s[1]=2,輸出s[0]=1,然後再i+1麼。。不懂了

最佳回答:


 #include <stdio.h>
#include <stdlib.h>
char *s = "1234567890-=QWERTYUIOP[]\ASDFGHJKL;'ZXCVBNM,./";
int main()
{
    int i, c;
    while ((c = getchar()) != EOF)
    {
        fflush(stdin);//清除緩沖區
        for (i = 1; s[i] && s[i] != c; i++)//刪掉分號
        {
            if (s[i])
                putchar(s[i - 1]);
        }
    }
    return 0;
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved