【发布时间】:2016-01-08 12:30:19
【问题描述】:
我想将字符串“乘以”用户输入的 int 变量。
#include <cs50.h>
#include <stdio.h>
// Height < 24
string block = "#";
string output;
int main(void) {
printf("Height: ");
int height = GetInt();
while (true) {
if (height < 24 && height > 0) {
output = "#" + block * height;
printf("%s\n", output);
break;
} else {
printf("Height: ");
height = GetInt();
}
}
return 0;
}
使用Height 变量,我想将字符串变量block (#) 乘以Height,然后将其添加到另一个"#"。
我尝试以我认为有意义的唯一方式实现它,但语法似乎不正确。
我已经查看了有关此主题的 StackOverflow,但只能找到带有此问题的 C# 和 C++ 主题。
编辑:打印后输出应如下所示:
##
###
####
#####
######
#######
########
#########
输出的“#”行取决于用户输入的高度变量。假设用户输入高度“5”:
Height: 5
##
###
####
#####
######
应该输出。
【问题讨论】:
-
你不能乘一个字符串。期间。
-
我不清楚:乘以字符串是什么意思?
#的 ASCII 码?或者您希望#成为替代值? (然后使用一个函数) -
你是如何在
C中得到string的? -
@Minato 我假设他使用的是this library,其中包含
typedef。 -
你能告诉我们在你“乘”它之后应该如何看待这个字符串