C++绘制矩形代码仅输出单行内容 是什么原因导致的?
问题根因
代码中的return 0语句被错误放置在控制矩形高度的外层for循环内部,程序完成第一行星号打印、换行操作后,会直接执行return 0终止main函数运行,外层循环不会触发后续迭代,因此仅输出单行内容。
修正方案
将return 0移动到外层for循环结束后的位置即可,同时补充缺失的头文件保证编译正常,修正后完整代码如下:
#include <iostream> #include <iomanip> // 提供setw格式化输出功能 using namespace std; void fyllRektangel(int hojd, int bredd); int main(){ int hojd; // 高度 int bredd; // 宽度 cin >> hojd; cin >> bredd; for(int r = 1; r <= hojd; r++){ for(int k = 1; k <= bredd; k++) cout << setw(4) << "*"; cout << endl; } // 所有循环执行完成后再退出程序 return 0; }
内容的提问来源于stack exchange,提问作者Ahmad Halabi
相关产品推荐
相关产品推荐

