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);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2019-08-01
你粘到这上面的程序 不完整! 结构体要先声明 并且你的第一个元素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);//内存初始化