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

各改行で一度に1文字ずつ出力しようとしていますが、出力は次のようになります-

C: Different   
C: ifferent
C: fferent
ect.

一度に1文字だけ出力するにはどうすればよいですか? 例(C:D、C:i、C:fなど)

4

2 に答える 2

4

変更する必要があります:

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

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

前者は a を出力stringし、後者は 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 に答える