#include <stdio.h>
int main(void)
{
int a = 4;
char alpha[26] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (int i = 0; i < 6; i++);
{
for (int b = 5; b > a; b--)
{
printf("%c", alpha[b]);
}
a--;
printf("\n");
printf("%d\n", a);
}
return 0;
}
我希望这段代码打印如下:
F
FE
FED
FEDC
FEDCB
FEDCBA
但当前显示的输出是这样的:
F
3
我不知道是否有任何错字,因为我已经检查了很多,我想我已经做了一些事情
否则是错误的。如果这是一个拼写错误,请告诉我这是因为拼写错误,如果不是,请帮助我,因为我是 C 编程语言的新手。
正如其他人所指出的,你的外在for循环有一个;最后,所以它有一个空的主体:
for(int i = 0; i < 6; i++);
请注意,您应该always编译时启用警告(例如):
gcc -c -Wall -Wextra -Werror foobar.c
如果有的话,编译器会标记此语句。
gcc:
foobar.c: In function ‘main’:
foobar.c:7:9: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
for(int i = 0; i < 6; i++);
^~~
foobar.c:8:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
{
^
clang:
foobar.c:7:35: warning: for loop has empty body [-Wempty-body]
for(int i = 0; i < 6; i++);
^
foobar.c:7:35: note: put the semicolon on a separate line to silence this warning
1 warning generated.