我想向后打印一个字符串。但我的代码似乎是从数组中的最后一个字母到数组中的第一个字母倒数字母表,而不是倒数数组本身并吐出数组中的每个字母。
My code,
#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;
}
有什么建议么?谢谢。
你所拥有的在数组元素值之间循环。您想要在数组索引之间循环。将循环更新为以下内容:
for (x = end; x >= 0; --x) {
printf("%c", word[x]);
}
请注意,这从最后一个索引到零并输出该索引处的字符。还使用预减在 for 循环中进行微优化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)