文字列を後方に印刷したいと思います。しかし、私のコードは、配列自体の数を減らして配列の各文字を吐き出す代わりに、配列の最後の文字から配列の最初の文字までアルファベットを数えているようです。forループだけを使って、入力された文字列をC言語で後方に印刷するには
私のコード、
#include <stdio.h>
#include <string.h>
int main(void) {
char word[50];
char end;
char x;
printf("Enter a word and I'll give it to you backwards: ");
scanf("%s", word);
end = strlen(word) - 1;
for (x = word[end]; x >= word[0]; x--) {
printf("%c", x);
}
return 0;
}
任意の提案ですか?ありがとうございました。
あなたのエラーは、あなたがあなたの配列の要素を取得していないということです、あなたがあなたの最後の文字(例U字)の値を取得し、その後、あなたはそのその文字と印刷の値をデクリメントあなたの逆のアルファベットを説明する(u、t、s、r ...) –
私は興味がありましたので、私は別の質問に投稿しましたhttp://stackoverflow.com/questions/4331486/loops-in-c-challenge-can-それは別の方法/ 4331501#4331501。カウンタに関係しないアレイをループする「異なる」方法があります。 –
ここにいるので、実際のコードで使用する前に、scanfの問題を必ず読んでください:http://stackoverflow.com/questions/2430303/disadvantages-of-scanf –