标题:求大佬解答。。。。。。关于二维数组的问题。
只看楼主
qq7918640
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2017-11-26
结帖率:77.78%
已结贴  问题点数:2 回复次数:7 
求大佬解答。。。。。。关于二维数组的问题。
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 100000
int main()
{    
    int n=0;
    int i,j;
    printf("Please input n!");
    scanf("%d",&n);
    char hex[n][N];
    char oct[n][N];
    char oct2[n][N];
    printf("Please input oct!");
    for(i=0;i<n;i++)
    {
        gets(oct[i]);
        
    }
    for(i=0;i<n;i++)
    {
        for(j=0;j<strlen(oct[i]);j++)
        {
            switch(oct[i][j])
            {
                case'F':
                    oct2[i][j]="1111";
                    break;
                case 'E':
                    oct2[i][j]+="1110";
                    break;
                case 'D':
                    oct2[i][j]+="1101";
                    break;
                case 'C':
                    oct2[i][j]+="1100";
                    break;
                case 'B':
                    oct2[i][j]+="1011";
                    break;
                case 'A':
                    oct2[i][j]+="1010";
                    break;
                case '0':
                    oct2[i][j]+="0000";
                    break;
                case '1':
                    oct2[i][j]+="0001";
                    break;
                case '2':
                    oct2[i][j]+="0010";
                    break;
                case '3':
                    oct2[i][j]+="0011";
                    break;
                case '4':
                    oct2[i][j]+="0100";
                    break;
                case '5':
                    oct2[i][j]+="0101";
                    break;
                case '6':
                    oct2[i][j]+="0110"; 
                    break;
                case '7':
                    oct2[i][j]+="0111";
                    break;
                case '8':
                    oct2[i][j]+="1000";
                    break;
                case '9':
                    oct2[i][j]+="1001";
                    break;
                default:
                    break;
            }
        }
    }
    return 0;
}
搜索更多相关主题的帖子: include int for case break 
2018-08-19 10:01
qq7918640
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2017-11-26
得分:0 
如题,光标在oct[i][j]后面闪烁,而给出的warning确实说我类型不匹配,求解乍回事。
2018-08-19 10:02
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
char oct[n][N];
char oct2[n][N];
oct、oct2数组的元素是char类型
gets(oct[i]);
oct2[i][j]="1111";
这两句有问题,就算oct2是字符串数组,也不能用 = 号直接赋值。
2018-08-19 10:13
qq7918640
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2017-11-26
得分:0 
那如果将oct2[i][j]='0000'的话,满足还是char类型,但数据会溢出。
第二错误,我是将一个字符串单一的一个一个取出来复制,=为啥不行额。
求解。
2018-08-19 10:19
qq7918640
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2017-11-26
得分:0 
2018-08-19 10:21
qq7918640
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2017-11-26
得分:0 
2018-08-19 10:21
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:2 
gets(oct[i]); 这句没问题
oct2[i][j]="1111"; 可用strcpy(oct2[i],"1111")
2018-08-19 11:29
qq7918640
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2017-11-26
得分:0 
感谢
2018-08-19 11:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-489308-1-1.html




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

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