C++中函数调用struct指针的问题

来源:百度知道 编辑:UC知道 时间:2024/07/05 07:22:11
请看以下代码:
#include<iostream.h>
struct a
{
char a1[50];
char a2[50];
};
void break(struct a *ptr);
main()
{
struct a b={"baobao","bingbaobao"};
struct a *ptr;
ptr=& b;
cout<<b.a2<<"\n";
break(ptr);
cout<<b.a2<<"\n";
}
void break(struct a *ptr)
{
ptr->a2="c";
}
功能说明:是想用一个函数调用struct中定义的指针来改变struct中的变量!
请指出其中存在的一些问题!谢谢!
PS:IDE中指出在void break(struct a *ptr);,break(ptr);void break(struct a *ptr)三处出现了问题!

三个问题
1、声明结构的时候不用再加struct了
2、break中C++关键字,不能用作函数名
3、字符串不能直接赋值,要用string.h中的strcpy()函数
以下为代码
#include<iostream.h>
#include <string.h>
struct a
{
char a1[50];
char a2[50];
};
void breaks(a *ptr);
main()
{
a b={"baobao","bingbaobao"};
a *ptr;
ptr=&b;
cout<<b.a2<<"\n";
breaks(ptr);
cout<<b.a2<<"\n";
}
void breaks(a *ptr)
{
strcpy(ptr->a2,"c");
}

break是关键字,你换一个名字看看。

赞同楼上的观点!

顶楼上(三楼)的,回答完全正确.

CSDN也许有你想要的答案。