为了账号安全,请及时绑定邮箱和手机立即绑定

二维字符数组的使用问题

二维字符数组的使用问题

C C# C++
饼干不干233 2016-08-04 19:15:12
#include <stdio.h>int main(){    char a[100][19];    int n;    int i,j;    int sum;    int b[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};    char c[11]={'1','0','X','9','8','7','6','5','4','3','2'};    int flag=1;         scanf("%d",&n);    for(i=0;i<n;i++)        scanf("%s", a[i]);         for(i=0;i<n;i++){        sum=0;        for(j=0;j<17 && a[i][j]-'0'>=0 && a[i][j]-'0'<=9 ;j++){                     sum+=b[j]*(a[i][j]-'0');            }            if(j!=17 || a[i][17]!=c[sum%11]){                flag=0;                printf("%s\n", a[i]);//输出有问题的字符串             }        }         if(flag==1)        printf("All passed");         return 0;}scanf那里的a[i]是什么意思?a已经定义成二维数组了,是省略了行长度吗?默认行长度是0?
查看完整描述

2 回答

已采纳
?
qq_小朱

TA贡献28条经验 获得超18个赞

a在这里是字符串数组,a[i]代表第i个字符串,a[100][19]这里前面一个是有几个字符串的意思,后面那个是字符串最大长度

查看完整回答
2 反对 回复 2016-08-04
?
xx_王大可_959153784511

TA贡献1条经验 获得超0个赞

a[i]是取第i行的首地址,然后通过%s  做到每一行内容的输入

查看完整回答
反对 回复 2016-08-04
  • 2 回答
  • 0 关注
  • 1528 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信