字符数组赋值???

wawa_ai_chengxu 2009-06-12 10:47:33
#include<stdio.h>
void init(char *a)
{ int i=0,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
*(a[i]+j)='Q';
}
void main()
{
char s[3][3];
init(s);
}

大家看看,函数参数传不进去
...全文
28 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangw_david 2009-06-12
  • 打赏
  • 举报
回复
这样可以:
void init(char a[][3])
{ int i=0,j;
for(i=0;i <3;i++)
for(j=0;j <3;j++)
a[i][j]='Q';
}
int main(int argc, char* argv[])
{
char s[3][3];
init(s);
return 0;
}
night_mare 2009-06-12
  • 打赏
  • 举报
回复
void init(char a[][3])
{ int i=0,j;
for(i=0;i <3;i++)
for(j=0;j <3;j++)
*(a[i]+j)='Q';
}
试试这样传,应该可以
forwrj 2009-06-12
  • 打赏
  • 举报
回复
#include <stdio.h>
void init(char *a)
{
int i = 0,j = 0;
for(i = 0; i < 3; i++)
for(j = 0; j < 3; j++)
*(&a[i]+j)='Q';
}
void main()
{
char s[3][3];
init((char *)s);
return;
}
pengzhixi 2009-06-12
  • 打赏
  • 举报
回复
void init(char a[][3],int row) 不好意思漏掉了一个a
飞天御剑流 2009-06-12
  • 打赏
  • 举报
回复
#include <stdio.h>
void init(char *a) //应改为void init(char (*a)[3])
{ int i=0,j;
for(i=0;i <3;i++)
pengzhixi 2009-06-12
  • 打赏
  • 举报
回复
s的类型是char(*)[3];
而你的参数是char *;
本身类型就不对.
void init(char[][3],int row)
{ int i=0,j;
for(i=0;i <3;i++)
for(j=0;j <3;j++)
a[i][j]='Q';
}
lylm 2009-06-12
  • 打赏
  • 举报
回复
改成void init(char a[3][3])

69,336

社区成员

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

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