| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1910 人关注过本帖
标题:定义只有9个元素的数组非要输入10个元素才能输出
取消只看楼主 加入收藏
domore
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2019-7-25
结帖率:60%
收藏
已结贴  问题点数:5 回复次数:1 
定义只有9个元素的数组非要输入10个元素才能输出
我定义了一个3X3的二维数组,来进行行列互换的操作并输出换好后的数组
用scanf赋值,输入第九个数字后按enter键没反应光标还是一闪一闪,这时狂按enter或空白键没用
继续输入一个数字,结果正常输出了
我定义的明明是有且仅有9个元素的数组,为什么这里非要我输入10个数字才能正常执行呢、、、
望大神解释一下哎   谢谢了!!!
图片附件: 游客没有浏览图片的权限,请 登录注册

#include<stdio.h>
#define N 3
int a[N][N];        //定义一个3X3的全局数组a
int main()
    {
    void swap(int a[][3]);
    int i,j;
    printf("enter 9 integer numbers to array:\n");        
    for(i=0;i<N;i++)        //输入9个数据
        for(j=0;j<N;j++)
            scanf("%d ",&a[i][j]);        
        printf("the old:\n");
    for(i=0;i<N;i++)        //输出原数组
        {
        for(j=0;j<N;j++)
            printf("%d ",a[i][j]);        
        printf("\n");
        }
    swap(a);        //进行行列互换
    printf("the new:\n");
    for(i=0;i<N;i++)        //输出行列互换后的新数组
        {
        for(j=0;j<N;j++)
            printf("%d ",a[i][j]);
        printf("\n");
        }
    return 0;
    }


void swap(int a[][3])        //定义行列互换函数
    {
    int i,j,t;
    for(i=0;i<N;i++)
        for(j=i+1;j<N;j++)
            {
            t=a[i][j];
            a[i][j]=a[j][i];
            a[j][i]=t;
            }
    }
搜索更多相关主题的帖子: 定义 数组 输入 输出 for 
2019-08-03 15:38
domore
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2019-7-25
收藏
得分:0 
回复 2楼 rjsp
不然数字会挤到一起啊
不加空格  输出就是
123
456
789

加空格就是
1 2 3
4 5 6
7 8 9
还有就是想输入个位数以上的数时会输不了
如想在中间输入13它会当成两个数字而不是一个数字   
2019-08-03 20:02
快速回复:定义只有9个元素的数组非要输入10个元素才能输出
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017907 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved