C++ 如何解决流动代码中的逻辑错误?
如果条件块内部未打印任何值。 逻辑错误在哪里? 谢谢C++ 如何解决流动代码中的逻辑错误?,c++,C++,如果条件块内部未打印任何值。 逻辑错误在哪里? 谢谢 #包括 使用名称空间std; int fx[]={-1,-1,0,1,1,1,0}; int fy[]={-1,0,1,1,1,0,-1,-1}; 国际会计准则[20][20]; int n; int v1,v2; 虚无乐趣(内部a、内部b) { 对于(int i=0;i您有两个变量n,一个全局变量(值0),一个位于main输入提要中 fun使用全局函数 避免(非常量)全局变量。希望将n传递到fun: void fun(int (&a
#包括
使用名称空间std;
int fx[]={-1,-1,0,1,1,1,0};
int fy[]={-1,0,1,1,1,0,-1,-1};
国际会计准则[20][20];
int n;
int v1,v2;
虚无乐趣(内部a、内部b)
{
对于(int i=0;i您有两个变量n
,一个全局变量(值0
),一个位于main
输入提要中
fun
使用全局函数
避免(非常量)全局变量。希望将n
传递到fun
:
void fun(int (&arr)[20][20], int n, int x, int y)
{
const int fx[]= {-1,-1,-1,0,1,1,1,0};
const int fy[]= {-1,0,1,1,1,0,-1,-1};
for(int i=0; i<8; i++)
{
int v1 = x + fx[i];
int v2 = y + fy[i];
if(v1>=0 && v1<n && v2>=0 && v2<n)
{
std::cout << "----------" << std::endl;
std::cout << v1 << " " << v2 << std::endl;
}
}
}
int main()
{
int n;
std::cin >> n;
int arr[20][20];
for(int i=0; i<n; i++) {
for(int j=0; j<n; j++) {
std::cin >> arr[i][j];
}
}
fun(arr, n, 0, 1);
}
void fun(int(&arr)[20][20],int n,int x,int y)
{
const int fx[]={1,-1,-1,0,1,1,1,0};
常数int fy[]={-1,0,1,1,1,0,-1,-1};
对于(int i=0;i=0&&v1=0&&v2)与您的问题无关,但请阅读,并尝试参加一些课程或阅读,而不是学习“竞争”的所有坏习惯编程。@Shuvo mandol描述程序试图做什么。提示:使用断点并检查局部变量是否存在逻辑错误。我看不到输入ar[.]之间的关系
和乐趣
function@VladfromMoscow实际上我想知道为什么逻辑If语句不起作用?这里没有逻辑。
void fun(int (&arr)[20][20], int n, int x, int y)
{
const int fx[]= {-1,-1,-1,0,1,1,1,0};
const int fy[]= {-1,0,1,1,1,0,-1,-1};
for(int i=0; i<8; i++)
{
int v1 = x + fx[i];
int v2 = y + fy[i];
if(v1>=0 && v1<n && v2>=0 && v2<n)
{
std::cout << "----------" << std::endl;
std::cout << v1 << " " << v2 << std::endl;
}
}
}
int main()
{
int n;
std::cin >> n;
int arr[20][20];
for(int i=0; i<n; i++) {
for(int j=0; j<n; j++) {
std::cin >> arr[i][j];
}
}
fun(arr, n, 0, 1);
}