C语言程序设计找错题,修改程序中错误 5

1功能:为数组赋值voidmain(){intiLoopCnt;intiArray[5];for(iLoopCnt=0;iLoopCnt<5;iLoopCnt++,iAr... 1 功能:为数组赋值
void main()
{
int iLoopCnt;
int iArray[5];

for(iLoopCnt=0; iLoopCnt<5;iLoopCnt++,iArray++)
{
*iArray = iLoopCnt;
}
}

2 功能:为结构体申请内存并赋值
Typedef struct {
char cNo;
int iAge;
} Member_t;
main ()
{
Member_t *pstMember;
char *pcBuffer;

pcBuffer = (char*) malloc (sizeof (char) + sizeof (int));
pstMember = (Member_t*) pcBuffer;
pstMember ->cNo = 1;
pstMember ->iAge = 20;
}

3 功能:指针的强制类型转换(指明错误之处即可)
main()
{
int *piPointer;
char cItem;
cItem = 'a';
piPointer = (int *)& cItem;
*piPointer = 1298;
}

4 功能:打印二维数组的内容
void show (int * * iInfo, int iX, int iY)
{
int i,j;
for (i=0;i<iX;i++) {
for (j=0;j<iY;j++)
printf ("%d ",iInfo[i][j]);
printf ("\n");
}
}
void main()
{
int iArray[10][10];
show (iArray,10,10);
}

5 功能:给数组赋值
main()
{
char * pst[5], *t;
int i, j;
printf("Please input 5 strings:\n");
for(i=0;i<5;i++)
{
scanf("%s",pst[i]);
}
}
问题补充:赫赫越详细越好哈
展开
 我来答
猎手H
2008-02-13 · 超过27用户采纳过TA的回答
知道答主
回答量:112
采纳率:0%
帮助的人:43.4万
展开全部
1.数组名表述数组的首地址,虽然是指针,但是是一个常量,不可以通过自增来移动。
2.结构体定义有问题,typedef
3.指针piPointer定义后,没有初始化,是一个空指针,可以加上
int a;
piPointer = &a;
4.show函数形参第一个去掉一个*,而且数组没有初始化
5.%s是读入字符串,其对应的应该为地址,改成scanf("%s", pst);
匿名用户
2008-02-13
展开全部
void main()
{
int iLoopCnt;
int iArray[5];

for(iLoopCnt=0; iLoopCnt<5;iLoopCnt++,iArray++)
{
*iArray = iLoopCnt;
}
}

应改为:

void main()
{
int iLoopCnt;
int iArray[5];

for(iLoopCnt=0; iLoopCnt<5;iLoopCnt++)
{
iArray[iLoopCnt] = iLoopCnt;
}
}

/**********************************************/

Typedef struct {
char cNo;
int iAge;
} Member_t;
main ()
{
Member_t *pstMember;
char *pcBuffer;

pcBuffer = (char*) malloc (sizeof (char) + sizeof (int));
pstMember = (Member_t*) pcBuffer;
pstMember ->cNo = 1;
pstMember ->iAge = 20;
}

应改为
typedef struct {//注意关键字的大小写
char cNo;
int iAge;
} Member_t;
main ()
{
Member_t *pstMember;
char *pcBuffer;

pcBuffer = (char*)malloc(sizeof (char) + sizeof (int));
pstMember = (Member_t*) pcBuffer;
pstMember ->cNo = '1';//原程序此处赋值可疑
pstMember ->iAge = 20;
}

/*******************************************/
3.
感觉无错。

4.
改为如下形式:

void show (int iInfo[10][10], int iX, int iY)
{
int i,j;
for (i=0;i<iX;i++) {
for (j=0;j<iY;j++)
printf ("%d ",iInfo[i][j]);
printf ("\n");
}
}
void main()
{
int iArray[10][10];
show (iArray,10,10);
}

/****************************************/

5.应该为数组分配空间,可以使用malloc/calloc完成。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ecd52a0
2008-02-14 · TA获得超过158个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:122万
展开全部
同意匿名兄
只是第四个:

void show (int iInfo[10][10], int iX, int iY)
{
int i,j;
for (i=0;i<iX;i++) {
for (j=0;j<iY;j++)
printf ("%d ",iInfo[i][j]);
printf ("\n");
}
}
void main()
{
int iArray[10][10];
show (iArray,10,10);
}
有一点错,就是把printf ("\n"); 移到后面两个大括号之间,不信试试,打出一个矩阵。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
旗木英☆
2008-02-13 · 超过23用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:0
展开全部
这种问题去CSDN问快些~~~那里高手也多~~
http://www.csdn.net/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式