永发信息网

【c++编程问题】 指针指向字符串,使用cin>>怎么不对呢?

答案:4  悬赏:30  手机版
解决时间 2021-01-31 10:31
#include
#include
#include
#define ERROR -1
using namespace std;

typedef struct PCBNode
{
// char name[10]; //进程名
string name;
PCBNode *next; //指针
int time; //要求运行时间
int priority; //优先数
char state; //状态
}PCB;

int main()
{
PCB *p;
if(p= (PCB *)malloc(sizeof(PCB)))
{
cin>>p->name>>p->priority>>p->time;
p->next=NULL;
p->state='R';
}
else return ERROR;
}
问题出在“cin>>p->name”这里。vc 6.0调试不能通过,devc调试能通过。
最佳答案
你这是C++程序啊,用new来申请内存吧。
PCB *p;
if(p= new(PCB))

string类的输入可用getline(cin,p->name);
char [10]的话可以直接cin>>
全部回答
结构体中用string类型接char型字符?你输入的是char型的字符,没有转换的话,不能直接为string类型的变量赋值吧。 改用 char name[10]; 可避免错误。 typedef struct PCBNode { char name[10]; //进程名 //string name; PCBNode *next; //指针 int time; //要求运行时间 int priority; //优先数 char state; //状态 }PCB;
不知道具体问题,不过我觉得如果你输入的进程名含有空格应该就会有错,因为cin以空白符结束输入,即空白后的字符可能会传入priority中。
首先 指针的变量 前缀 * 统一报错,其次,想打印出地址对于非指针对象的变量统一使用 & 。 string 是字符串,想访问地址得用& ,或者[]也可以。 楼主,还是复习下指针和变量吧。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
触手的剑仙厉害吗
【生物合成】简述谷氨酸生物合成过程!
美国克莱斯勒&吉普弘港专营店地址好找么
经管理不善丢失东西,应计入会计分录
同方知网是国企吗
好色的男人算不算不正直
I drove it into a lamp post的it为什么在dro
彩虹岛的装备怎么有些人可以镶嵌3样。为什么
明信二手车地址在什么地方,我要处理点事
电脑把iphone识别成照相机了怎么办
1958年,美国科学工作者把胡萝卜韧皮部的细胞
怎么安装钢笔的墨水囊
爱普生打印机me200
路通汽车维修厂怎么去啊,我要去那办事
南宁骏鸿达汽车销售服务有限责任公司贵港分公
推荐资讯
石嘴山市惠农区文化局地址在什么地方,我要处
在线等哦.科目三.在路口等红灯起步时.先挂一
台安县公安局教育治安派出所怎么去啊,我要去
京安物流(淑阳镇永泰路25号豪凯网城后京安物
专升本可以考公务员吗?
【短跑接力赛】运动会上的加油词!4×100米接
婚后卖掉婚前房子再买的房子是夫妻共同财产吗
先锋v8换屏幕多少钱
言情小说吧很久以前的一本小说 男主是女主名
为什么我的电脑上的CF下载了 打不开什么也不
瑞德萨怎么去啊,我要去那办事
我家的狗狗下狗狗了小狗几天争眼呢
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?