Sab*_*oth 0 c scanf multidimensional-array
我想逐个输入数组中的16个字符......
#include<stdio.h>
void main(){
int i,j;
char a[4][4];
printf("Enter Values in array : ");
for ( i=0 ; i<=3 ; i++ )
{
for ( j=0 ; j<=3 ; j++ )
{
printf("a[%d][%d] : ",i,j);
scanf("%c",&a[i][j]);
}}
for ( i=0 ; i<=3 ; i++ )
{
for ( j=0 ; j<=3 ; j++ )
{
printf("a[%d][%d] : %c\n",i,j,a[i][j]);
}}}
Run Code Online (Sandbox Code Playgroud)
而输出是
a[0][0] : q
a[0][1] : a[0][2] : w
a[0][3] : a[1][0] : e
a[1][1] : a[1][2] : r
a[1][3] : a[2][0] : t
a[2][1] : a[2][2] : y
a[2][3] : a[3][0] : u
a[3][1] : a[3][2] : i
a[3][3] :
Run Code Online (Sandbox Code Playgroud)
为什么我不能输入[0] [1],[0] [3]等等......为什么它们被跳过...而且请告诉一个更好的方法来完成这项工作......
scanf()将换行符留在输入缓冲区中,后续调用将使用该字符.
告诉scanf()跳过空格.
scanf(" %c",&a[i][j]); // Notice the space in the format string
Run Code Online (Sandbox Code Playgroud)
格式说明符中的空格使scanf()在读取字符之前忽略任何空格字符(for %c)
| 归档时间: |
|
| 查看次数: |
247 次 |
| 最近记录: |