请问一个c语言问题

cherish19891016 2010-04-15 03:16:05
char a[31][100];
char a[0]="该动物是信天翁";
char a[1]="有毛发";
char a[2]="是哺乳动物";
char a[3]="有奶";
char a[4]="有羽毛";
char a[5]="有会飞";
char a[6]="是鸟";
char a[7]="吃肉";
char a[8]="是食肉动物";
char a[9]="有犬齿";
char a[10]="有爪";
char a[11]="眼盯前方";
char a[12]="有蹄";
char a[13]="是有蹄类动物";
char a[14]="是嚼反刍类动物";
char a[15]="黄褐色";
char a[16]="身上有暗斑点";
char a[17]="该动物是金钱豹";
char a[18]="身上有黑色条纹";
char a[19]="该动物是虎";
char a[20]="长脖子";
char a[21]="长腿";
char a[22]="该动物是长颈鹿";
char a[23]="该动物是斑马";
char a[24]="不会飞";
char a[25]="有黑白二色";
char a[26]="该动物是鸵鸟";
char a[27]="会游泳";
char a[28]="不会飞";
char a[29]="该动物是企鹅";
char a[30]="善飞";

为什么报错
...全文
220 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
woaitmac1314 2010-04-16
  • 打赏
  • 举报
回复
那个b不用改成&b吧。。。b[]的b就是指针了。。
zzmlake 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dubiousway 的回复:]
呵呵,, 把第2行开始的,所有的char 都去掉。

a[0]="该动物是信天翁";
[/Quote]

a[0]只是一个字符数组
相当于:char p[10]; p="该动物是信天翁";
这可能吗?
zgqiangha 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zhao4zhong1 的回复:]
初始化语法
char a[31][]={
"该动物是信天翁",
...
};
和赋值语法
char a[31][100];
strcpy(a[0],"该动物是信天翁");
...
不是一回事。
[/Quote]
up
M0521 2010-04-16
  • 打赏
  • 举报
回复
7 楼是对的 也可以这样写:



char a[31][100] = {
[0]="该动物是信天翁",
[1]="有毛发",
[2]="是哺乳动物",
[3]="有奶",
[4]="有羽毛",
[5]="有会飞",
[6]="是鸟",
[7]="吃肉",
[8]="是食肉动物",
[9]="有犬齿",
[10]="有爪",
[11]="眼盯前方",
[12]="有蹄",
[13]="是有蹄类动物",
[14]="是嚼反刍类动物",
[15]="黄褐色",
[16]="身上有暗斑点",
[17]="该动物是金钱豹",
[18]="身上有黑色条纹",
[19]="该动物是虎",
[20]="长脖子",
[21]="长腿",
[22]="该动物是长颈鹿",
[23]="该动物是斑马",
[24]="不会飞",
[25]="有黑白二色",
[26]="该动物是鸵鸟",
[27]="会游泳",
[28]="不会飞",
[29]="该动物是企鹅",
[30]="善飞",
};

可读性好
huanmie_09 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 cherish19891016 的回复:]
我在做动物识别系统 那位大师可以帮帮我 不胜感激
[/Quote]
貌似还要涉及到规则表达式吧.
huanmie_09 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zhao4zhong1 的回复:]
初始化语法
char a[31][]={
"该动物是信天翁",
...
};
和赋值语法
char a[31][100];
strcpy(a[0],"该动物是信天翁");
...
不是一回事。
[/Quote]
正解!
logjun 2010-04-15
  • 打赏
  • 举报
回复
初始化语法问题.可以换成
char a[31][]={
"该动物是信天翁",
...
};
不过要是一定要每个都有下标,也可以这样:

#include "stdafx.h"
#include <atlstr.h>
int main(void)
{
CString a[31];

a[0]="该动物是信天翁";
a[1]="有毛发";
a[2]="是哺乳动物";
a[3]="有奶";
a[4]="有羽毛";
a[5]="有会飞";
a[6]="是鸟";
a[7]="吃肉";
a[8]="是食肉动物";
a[9]="有犬齿";
a[10]="有爪";
a[11]="眼盯前方";
a[12]="有蹄";
a[13]="是有蹄类动物";
a[14]="是嚼反刍类动物";
a[15]="黄褐色";
a[16]="身上有暗斑点";
a[17]="该动物是金钱豹";
a[18]="身上有黑色条纹";
a[19]="该动物是虎";
a[20]="长脖子";
a[21]="长腿";
a[22]="该动物是长颈鹿";
a[23]="该动物是斑马";
a[24]="不会飞";
a[25]="有黑白二色";
a[26]="该动物是鸵鸟";
a[27]="会游泳";
a[28]="不会飞";
a[29]="该动物是企鹅";
a[30]="善飞";

getchar();
return 0;
}
liyanlin122 2010-04-15
  • 打赏
  • 举报
回复
2#正解
wendude 2010-04-15
  • 打赏
  • 举报
回复
定义字符型数组,不是只能存字符吗?你试试指针数组吧!!
cherish19891016 2010-04-15
  • 打赏
  • 举报
回复
谢谢各位
wade_2003 2010-04-15
  • 打赏
  • 举报
回复
字符数组的初始化问题,多看看书。
AtlasHR 2010-04-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cherish19891016 的回复:]
int i;
char b;//这个地方得char b[100]
scanf("%s",b);// &b
for(i=0;i<31;)
{
if(strcmp(b,a[i])!=0)
i++;
else
printf("%s",b);

}


再往下写 为什么还是不对啊
[/Quote]
cherish19891016 2010-04-15
  • 打赏
  • 举报
回复
我在做动物识别系统 那位大师可以帮帮我 不胜感激
赵4老师 2010-04-15
  • 打赏
  • 举报
回复
初始化语法
char a[31][]={
"该动物是信天翁",
...
};
和赋值语法
char a[31][100];
strcpy(a[0],"该动物是信天翁");
...
不是一回事。
cherish19891016 2010-04-15
  • 打赏
  • 举报
回复
int i;
char b;
scanf("%s",b);
for(i=0;i<31;)
{
if(strcmp(b,a[i])!=0)
i++;
else
printf("%s",b);

}


再往下写 为什么还是不对啊
lucasma.eth 2010-04-15
  • 打赏
  • 举报
回复
恩,用字符串指针写可读性好很多:
char* a[31]=
{
"该动物是信天翁",
"有毛发",
"是哺乳动物",
"有奶",
....
}
kingteng 2010-04-15
  • 打赏
  • 举报
回复
har a[3]="有奶";
嗯,不错不错。。。。
dubiousway 2010-04-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dubiousway 的回复:]

呵呵,, 把第2行开始的,所有的char 都去掉。

a[0]="该动物是信天翁";
[/Quote]

我大意了。去掉char 也不行
这样写最好:
char* a[31]={
"该动物是信天翁",
"有毛发",
"是哺乳动物",
"有奶",
。。
。。
"善飞"};
song123412 2010-04-15
  • 打赏
  • 举报
回复
第一行已经定义了数组,下面直接赋值就可以了。
dubiousway 2010-04-15
  • 打赏
  • 举报
回复
呵呵,, 把第2行开始的,所有的char 都去掉。

a[0]="该动物是信天翁";

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧