这是一个关于字符串的简单问题。本人自学中,无人点拔,望各位高手,拔刀相助,万分感激!
相互扶助,共同进步!
在附件中!深谢
//本程序的问题是,输出的字符串总是最后一个被输入的字符串,
//即x[0],[1]总是=[2],x[2]即最后输入的那个,运行一下就知道了,谢谢
#include<iostream.h>
#include<stdio.h>
struct str_opr//结构体,count记录x数组中元素的个数
{ //x为字符型指针数组
int count;
char*x[3];
};
void inition(str_opr*p)//对指针数组进行初始化
{
p->count=0;
int i;
for(i=0;i<3;i++)
p->x[i]="\0";
}
void insert(str_opr*p,char*q)//q接收一个字符串,并把这个字符串插入到x中
{
p->x[p->count]=q;
(p->count)++;
}
int main()
{
str_opr str;//定义了结构体变量
inition(&str);
char hj[20];int i;
char*q=hj;//q接收一个字符串数组
while(str.count!=3)//循环,是为了给x数组赋值
{
cout<<"请输入插入的名字"<<endl;
gets(q);//系统函数,从键盘输入字符串
insert(&str,q);
cout<<"插入成功"<<endl;
}
for(i=0;i<str.count;i++)//输出各个字符串
puts(str.x[i]);
cout<<str.count;
cout<<endl;
return 0;
}
字符串与指针,运行错误