代码:
#include <iostream>
main() {
int i = 1;
int j = 1;
for (i; i < 10; i++) {
for (j; j < 10; j++) {
std::cout << (i * 10 + j) * (i * 10 + j) << " ";
}
std::cout << std::endl;
}
}
我想输出一个从 10 到 99 的平方表,但是出现错误:“缺少类型说明符 - 假定为 int。注意:C++ 默认不支持 int。”
这是一个带有标志的编译器调用,可以捕获源代码中的大量错误。您的编译器可能会使用其他标志,但对其进行配置是有意义的,这样它才能尽可能多地跟踪代码中的错误和不准确之处:
三个错误:
main
没有返回类型声明,第一部分中的两个变量引用for
没有任何作用。最后一个错误并不是无害的:循环
j
只执行第一次,然后j
它就等于十并且循环体停止执行。也就是说,代码将输出从十到十九的数字的平方,仅此而已。代码中只保留了更改的行:j
每次循环之前都需要“重置”该变量。那就好了:最好将循环变量的声明移到循环本身中:
或者你可以将所有内容收集到一个循环中。但随后值之间的分隔符是以一种棘手的方式得出的: