c - 在创建 for 循环时使用 if
问题描述
我从用户那里得到一个数字,用 C 语言打印一个模式。如果数字是奇数,则没有问题;但是,如果数字是偶数,则代码会多打印 1 个块!for
所以,我想检查我的循环中的数字是否是偶数。
我尝试了这段代码,但没有奏效:
for (i = 1; i <= numb + 2; i++) {
if (numb% 2 == 0) {
numb+= 1;
}
for (j = 0; (numb % 2 == 0) ? (j < numb) : (j < numb+ 1); j++) {
if (i % 2 == 0) {
printf("* %d * ", j);
}
else {
printf("***** ");
}
}
printf("\n");
}
解决方案
问题是for
循环中第二条语句(条件“测试”)的语法。您需要重新排列代码,因此这是一条语句:
for (j = 0; j < ( (numb % 2 == 0) ? numb : numb + 1 ); j++) {
...
}
推荐阅读
- json - 我想要脚本中的 HTML 内容。使用请求和 Bs4 库
- python - 关键错误:所有 [Index[Columns] 都不在列中
- javascript - 长按按钮重复烧瓶功能
- javascript - 猫鼬查询的行为方式很奇怪
- javascript - 如果 Id 匹配,反应如何替换名称
- indexing - 为使用 Qgis 中的聚合函数连接的每个值创建索引
- c++ - 三向比较运算符的结果类型重载比较运算符
- mitmproxy - 如何在 Mitmproxy 插件中发出网络请求
- c# - Internet 连接检查 API (wininet.dll) 不起作用 | C# WPF
- git - 如何 git checkout “下一个” 提交