我正在尝试制作一个控制台应用程序,它显示乘法表乘以一个整数。整数由用户确定。它是用 C 语言编写的。
我的问题是,如果用户输入的值小于 10 或大于 20,应用程序会继续嵌套的“for”循环,超出其确定的限制 (num + 10)。否则它工作正常。
#define _CRT_SECURE_NO_WARNINGS
#include `<stdio.h>`
void main()
{
int row, col, num; // Initialization of 10 x 10 array.
int arr[10][10];
printf("Enter a number: "); // User input of integer.
scanf("%d", &num);
for (row = num; row < num + 10; row++) /* Nested for loop. Loop starts at determined
number and stops ten steps further.*/
{
for (col = num; col < num + 10; col++)
{
arr[col][row] = row * col;
printf("%d\t", arr[col][row]);
}
printf("\n");
}
}
你正在写 arr
边界。检查你的循环逻辑。
既然你想乘以从 1 到 10 的数字,那么你最好使用这样的条件:
for (row=0; row < 10; row++) {
for (col=0; col < 10; col++) {
arr[row][col] = (row+1)*(col+1);
printf("%d\t", arr[row][col]);
}
printf("\n");
}
我是一名优秀的程序员,十分优秀!