2015-05-11 71 views
0

我是一名真正的C編程新手,我閱讀了很多關於指針的知識,但似乎我仍然困惑着自己。無法在字符串中獲得單個字符

我想從一個字符串sucessively單個字符,這裏是我的代碼:

#include <stdio.h> 

int main(int argc, const char *argv[]) { 
    char input[128]; 
    char *ch; 

    scanf("%s", &input); 

    for (ch = input; *ch; ch++) { 
     printf("%s\n", ch); 
    } 
    return 0; 
} 

如果我輸入「你好」我得到下面的輸出:

hello 
ello 
llo 
lo 
o 

我已嘗試printf("%s\n", &ch[0]);,但仍然是同樣的事情。

任何幫助,這將是偉大的,謝謝。

回答

3

您仍在打印字符串並增加其起始位置。

printf("%c\n", *ch); 
+0

謝謝,雖然'printf'需要指針而不是值本身,並且完全忘記了正確格式化。 –