for(i = 1;i <= n;i ++){
for(j = 1;j <= m;j ++){
scanf("%c",&a[i][j]);
}
}
由于赋予的是字符串,所以可能会把空字符录入
因此最好是
for(i = 0;i <= n-1;i ++){
scanf("%s",&a[i]);
}
只不过这样的话就只能是从a[i][0]开始了
补充
for (int i = 0; i < 5; i++) {
if (i == 2) {
break;
}
printf("%d\n", i);
}
在这个例子中,当 i 等于 2 时,break 语句会被执行,循环会立即结束。因此,i++ 在最后一次迭代中不会被执行,但循环会在 i 等于 2 时提前终止,所以实际上 i 的最终值将是 2。