2
int
cycle(n) {
    char *s3 = "Different";
    int i, length;
    length = strlen(s3)
    printf("%s\n", s3);
    for (i=0; i<length; i++) {
        printf("%s\n", &s3[i]);

    }
    return 0;
}

我试图在每个换行符上一次打印一个字符,但是输出看起来像这样 -

C: Different   
C: ifferent
C: fferent
ect.

如何让它一次只输出一个字符?示例(C:D、C:i、C:f 等)

4

2 回答 2

4

你应该改变:

printf("%s\n", &s3[i]);

printf("%c\n", s3[i]);

前者打印 astring而后者打印 a char

于 2013-05-31T23:55:54.080 回答
2
#include <stdio.h>
for (int i = 0; i < strlen(s3); i++) {
  printf("%c\n", s3[i]);
}
于 2013-05-31T23:56:22.380 回答