写了一个c语言程序,运行老是出错,不知道是哪里有问题,编译的时候也没有错误,愿大佬帮我解决
voidprinta(structnapkin*dp);structnapkin{char*Mark;intcount;intprice;};intmain(){stru...
void printa(struct napkin *dp);
struct napkin
{
char *Mark;
int count;
int price;
};
int main()
{
struct napkin a;
scanf("%s",&a.Mark);
scanf("%d",&a.count);
scanf("%d",&a.price);
printa(&a);
return 0;
}
void printa(struct napkin *dp)
{
printf("%s\n",dp->Mark);
printf("%d\n",dp->count);
printf("%d\n",dp->price);
} 展开
struct napkin
{
char *Mark;
int count;
int price;
};
int main()
{
struct napkin a;
scanf("%s",&a.Mark);
scanf("%d",&a.count);
scanf("%d",&a.price);
printa(&a);
return 0;
}
void printa(struct napkin *dp)
{
printf("%s\n",dp->Mark);
printf("%d\n",dp->count);
printf("%d\n",dp->price);
} 展开
展开全部
你粘到这上面的程序 不完整! 结构体要先声明 并且你的第一个元素Mark,最好要指定大小!
#include <stdio.h>
struct napkin
{
char Mark[10];
int count;
int price;
};
void printa(struct napkin *dp);
int main()
{
struct napkin a;
scanf("%s",&a.Mark);
scanf("%d",&a.count);
scanf("%d",&a.price);
printa(&a);
while(1);
return 0;
}
void printa(struct napkin *dp)
{
printf("%s\n",dp->Mark);
printf("%d\n",dp->count);
printf("%d\n",dp->price);
}
#include <stdio.h>
struct napkin
{
char Mark[10];
int count;
int price;
};
void printa(struct napkin *dp);
int main()
{
struct napkin a;
scanf("%s",&a.Mark);
scanf("%d",&a.count);
scanf("%d",&a.price);
printa(&a);
while(1);
return 0;
}
void printa(struct napkin *dp)
{
printf("%s\n",dp->Mark);
printf("%d\n",dp->count);
printf("%d\n",dp->price);
}
追问
第四行能不能不要数组,换成指针
追答
如果换成指针的话! 最好要给他分配一个空间! 否则有可能会出错!
a.Mark = (char*)malloc(sizeof(char)*5);//内存初始化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询