首页 > 解决方案 > 如果条件触发 char

问题描述

我编写了一个代码以矩阵形式打印转置的二维数组。为此,我添加了一个条件,如果用户输入的数组维度小于“1”,它将打印“无效维度”并退出。但是当我输入一个字符时,就会触发这个条件。谁能解释为什么会这样?

 #include<stdio.h>
#include<stdlib.h>
int main(){
int i,j,arr[10][10],n,n1;
printf("Enter the dimensions of the array\n");
scanf("%d",&n);
scanf("%d",&n1);
if(n<1||n1<1){
    printf("Invalid dimension\n");
    exit(0);
}
else

printf("Enter the elements for matrix\n");
for(i=0;i<n;i++){
    for(j=0;j<n;j++){
        scanf("%d",&arr[i][j]);
    }
}
printf("Printing matrix\n");

 for(i=0;i<n1;i++){
    for(j=0;j<n;j++){
        printf("  %d  ",arr[j][i]);
    }
    printf("\n");
}
}

标签: arraysc

解决方案


推荐阅读