求大家帮忙!!自己创建的一道比较简单的但是想不明白的字符串问题?

yiruirui0507 2010-03-15 03:35:33
#include<stdio.h>
#include<iostream>
using namespace std;
void add(char a[],char b[],char c[]);
void main()
{
char a[]="abc";
char b[]="defgh";
char c[9];
add(a,b,c);
cout<<c<<endl;
}
void add(char a[],char b[],char c[])
{
char c[]="abcdefgh";
}
输出结果中为什么有乱吗? 希望能解释详细点,谢谢大家!!
...全文
111 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cattycat 2010-03-15
  • 打赏
  • 举报
回复
你这个c数组在main中声明的,是个传入型参数。
strcpy给c的数组中写入拷贝字符串,就可以写到c的数组中。
gt396513119 2010-03-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yiruirui0507 的回复:]

非常感谢大家的热情帮助,我用的是vc6.0,可以通过,但是以上代码在VS2008中不能通过编译,提示C重定义.
再多问大家一个问题,add(a,b,c)这个函数被调用过程中,A,B都是有空间有内容的,但是C什么都没有啊,为什么还能传递一个什么都没有的参数呢?这点也想不明白?
[/Quote]

char c[9];
传的是类似地址空间吧!
赵4老师 2010-03-15
  • 打赏
  • 举报
回复
VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编
yiruirui0507 2010-03-15
  • 打赏
  • 举报
回复
非常感谢大家的热情帮助,我用的是vc6.0,可以通过,但是以上代码在VS2008中不能通过编译,提示C重定义.
再多问大家一个问题,add(a,b,c)这个函数被调用过程中,A,B都是有空间有内容的,但是C什么都没有啊,为什么还能传递一个什么都没有的参数呢?这点也想不明白?
  • 打赏
  • 举报
回复

void add(char a[],char b[],char c[]);
void main()
{
char a[]="abc";
char b[]="defgh";
char c[9];
add(a,b,c);
cout<<c<<endl;
}
void add(char a[],char b[],char c[])
{
strcpy(c,"abcdefgh");
}



字符串只能用strcpy这类操作来拷贝,不能直接=号。

你也可以循环+=号
南气子水 2010-03-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 stardust20 的回复:]
C/C++ code
#include<stdio.h>
#include<iostream>
using namespace std;
void add(char a[],char b[],char c[]);
void main()
{
char a[]="abc";
char b[]="defgh";
char c[9];
add(a,b,……
[/Quote]
1楼正解
pengxn 2010-03-15
  • 打赏
  • 举报
回复
1楼正解
dubiousway 2010-03-15
  • 打赏
  • 举报
回复
输出结果中为什么有乱吗,

lz 什么用的编译器阿。这程序void add(char a[],char b[],char c[])
{
char c[]="abcdefgh";
}
这样能编译通过,真是神奇
stardust20 2010-03-15
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<iostream>
using namespace std;
void add(char a[],char b[],char c[]);
void main()
{
char a[]="abc";
char b[]="defgh";
char c[9];
add(a,b,c);
cout<<c<<endl;
}
void add(char a[],char b[],char c[])
{
strcpy(c,"abcdefgh");//char c[]="abcdefgh";声明的是一个局部的c。。和我们传进来的实参没关系
}

69,369

社区成员

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

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