我正在用C编写一个程序,首先提示用户输入一个整数,然后输出两个字符串:一个空格和一个变量编号,以便结果是一个正确的棱锥,像这样:Printf C中的多个可变数字字符串
#
##
###
####
#####
######
的问题我已经驻留在我的for循环,这里是什么样子: (n
是用户提示的整数)
for (int i = 0 ; i < n ; i++)
{
printf("%c",n-1,' '); // printing the blank spaces gradually
printf("%c\n",i+2,'#'); // printing the hashes gradually
}
的想法是打印减少数量的空间和增量根据int减少哈希数。
P.S:请考虑帮我说我的代码有什么问题,而不是给我一个实际的新工作。
欢迎来到堆栈溢出!不幸的是,这不是一个好的问题,这不是一个家庭作业帮助网站,虽然你可以找到很多信息,可以帮助你在这里做你的功课。作为发布代码的一般规则,您需要将其格式化为代码,您需要说明具体的错误消息/问题是什么,并且通常您需要给出一个最简单的工作示例。您应该查看帮助中心的问题指南,以便您知道什么是将来发布的合适问题。 (这个很可能会被关闭,我很抱歉地说。) –
这两个'printf'调用实际上都会打印一次'(char)(n-1)'或'(char)(i + 2)'的值并忽略了其余的论点。无论使用什么makefile,只要你的编译器支持它(或者调查你的编译器提供的警告/警告级别选项)和'-Wextra',你应该至少在你的'cc'行中包含'-Wall'如果可能的话。这会在当前捕获很多编码错误,例如未使用的'printf'参数。一个常见的解决方案是在当前循环中打印'n-i-1'空格的循环,之后再打印另一个循环以打印'#''i'次。 –
我已经从与问题没有直接关系的问题中删除了一些额外的东西,并且还添加了我认为您希望输出看起来像的内容。 (如果我错了,请修复它!) – immibis