无法在字符串中获得单个字符

时间:2015-05-11 00:44:48

标签: c string

我是C编程的真正新手,我已经阅读了很多关于指针的内容,但似乎我仍然在困惑自己。

我试图从字符串中获取单个字符,这是我的代码:

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

如果我进入&#34;你好&#34;我得到以下输出:

 hello
 ello
 llo
 lo
 o

我尝试了printf("%s\n", &ch[0]);,但仍然是一样的。

对此有任何帮助都很棒,谢谢。

1 个答案:

答案 0 :(得分:3)

您仍在打印字符串并递增其起始位置。

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