新手c编程遇到问题
#include <stdio.h>
struct table
{
int num; //首地址
int size; //内存大小
int state; //状态,分配或者未分配(0表示未分配,1表示分配)
};
int main()
{
int i,m,size;
table a[5];
int state = 0;
printf("分别输入5个表项的大小\t地址\t是否已分配:\n");
printf("请输入要分配的内存空间大小:\n");
for(i=0;i<5;i++)
{
scanf("%d%d%d",&a[i].num,&a[i].size,&a[i].state);
}
scanf("%d",&m);
for(i=0;i<5;i++) //遍历5个分区,判断需要分配的空间是否小于分区内存大小,是就改变分区状态
{
if(m<=a[i].size)
state = 1;
}
printf("大小\t|首地址\t|是否已分配:\n");
for(i=0;i<5;i++)
{
printf("%d\t%d\t%d\n",&a[i].size,&a[i].size,&a[i].state);
}
return 0;
}
在初始化结构体数组后,通过遍历判断是否存在有大小>=要分配的内存空间大小,存在就把是否已分配的 0改成1,但是遍历后结果是出现乱码,求解决!谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
printf("%d\t%d\t%d\n",a[i].size,a[i].size,a[i].state);
struct (语法错)
printf