我在 C 中得到了 pset1 mario 的 expect 表达式错误
I get expect expression error in C for pset1 mario
代码:
int main(void)
{
printf("Height: ");
int height = 0;
height = get_int();
int heightcopy = height;
int spaces = heightcopy - 2;
int hash = 2;
while(height > 0 || height < 23)
{
for(int a = 0;a < height;a++)
{
for(int b = 0;b < spaces;b++)
{
printf(" ");
}
for(int c = 0;c < hash;c++)
{
printf("#");
}
hash++;
heightcopy--;
printf("\n");
}
}
}
错误:
制作MarioEasy_2
clang -fsanitize=integer -fsanitize=undefined -ggdb3 -O0 -std=c11 -Wall -Werror -Wextra -Wno-sign-compare -Wshadow MarioEasy_2.c -lcrypt -lcs50 -lm -o MarioEasy_2
这是新错误
............................................
您在这里使用了 while 循环:while(int a;a < height;a++)
但这不是 while
语句的格式。 while
语句将只接受一个布尔表达式,就像您之前在 while(height > 0 || height < 23)
中所做的那样。您需要 for
循环,并且您还需要初始化 int
您使用的数字,例如。 int a = 0
:
for(int a = 0;a < height;a++)
下面的其他 while
循环也是如此。
首先,您需要解释这个程序应该产生什么,以获得对任何逻辑错误的正确反馈。
语法上:
spaces
需要在得到height
的值后进行初始化
while(int letter; letter < param; letter++)
应该是
int letter;
for(letter=0; letter < param; letter++)
C 代码不喜欢 for 循环中的 int 声明(C++ 用它很酷)
代码:
int main(void)
{
printf("Height: ");
int height = 0;
height = get_int();
int heightcopy = height;
int spaces = heightcopy - 2;
int hash = 2;
while(height > 0 || height < 23)
{
for(int a = 0;a < height;a++)
{
for(int b = 0;b < spaces;b++)
{
printf(" ");
}
for(int c = 0;c < hash;c++)
{
printf("#");
}
hash++;
heightcopy--;
printf("\n");
}
}
}
错误:
制作MarioEasy_2 clang -fsanitize=integer -fsanitize=undefined -ggdb3 -O0 -std=c11 -Wall -Werror -Wextra -Wno-sign-compare -Wshadow MarioEasy_2.c -lcrypt -lcs50 -lm -o MarioEasy_2
这是新错误
............................................
您在这里使用了 while 循环:while(int a;a < height;a++)
但这不是 while
语句的格式。 while
语句将只接受一个布尔表达式,就像您之前在 while(height > 0 || height < 23)
中所做的那样。您需要 for
循环,并且您还需要初始化 int
您使用的数字,例如。 int a = 0
:
for(int a = 0;a < height;a++)
下面的其他 while
循环也是如此。
首先,您需要解释这个程序应该产生什么,以获得对任何逻辑错误的正确反馈。
语法上:
spaces
需要在得到height
while(int letter; letter < param; letter++)
应该是
int letter;
for(letter=0; letter < param; letter++)
C 代码不喜欢 for 循环中的 int 声明(C++ 用它很酷)