我的printf()函数一直没有向终端打印任何内容,而是打印了数组中的字符。
#include <stdio.h>
#include <cs50.h>
int main(void)
{
char s[4];
s[0] = '0';
s[1] = '0';
s[2] = '0';
s[3] = '\0';
int nums[3] = {0, 0, 0};
for (int i = 92; i < 110; i++)
{
// Number maxes at three digits
for (int j = 0; j < 3; j++)
{
nums[2 - j] = i % 10;
i /= 10;
}
for (int k = 0; k < 3; k++)
{
s[k] = (char) nums[k];
}
printf("%s\n", s);
}
}
我试图让程序在每次循环完成时打印出3个递增的数字。如果数字不是3位数,那么所有未占用的位置都应该是0。
1条答案
按热度按时间dsf9zpds1#
当其他人在评论你的代码时,我正在测试你的代码。正如我发现的测试,程序没有打印出任何东西,并且由于评论中指出的问题而可能在无限循环中运行。记住这些评论,下面是你的程序的重构版本。
要指出的事情。
重构了这些位之后,下面是测试运行的最终输出。
给予这些调整,看看它是否符合您项目的精神。