Now*_*der -1 c struct segmentation-fault
#include <stdio.h>
typedef struct StockDetail {
char* name;
int code;
int price;
} Stock;
int main(void)
{
Stock a[200]; int i; int b;
for(i=0; i<20 ; i++ )
{
printf("Stock %i\n",i+1);
printf("Name:");
scanf("%s",a[i].name);
printf("Code:");
scanf("%i",&a[i].code);
printf("Name:");
scanf("%i",&a[i].price);
}
printf("Maximum price of the stock:");
scanf("%i", &b);
for(i=0; i<20 ; i++)
{
if(a[i].price<=b)
{
printf("%s\n",a[i].name);
}
}
}
Run Code Online (Sandbox Code Playgroud)
嗨,我正在尝试实施一个程序,读取20个股票详细信息,如名称,代码和价格,然后要求用户输入最高价格并打印成本低于价格的股票.代码看起来很好但是当我试图运行它时给出了"分段错误"错误行.
你没有为你分配任何空间Stock.name.使用char[100]或分配一些空间.
就像是:
for(i=0; i<20 ; i++ )
{
char tempname[100];
printf("Stock %i\n",i+1);
printf("Name:");
scanf("%s",tempname);
a[i].name=strdup(tempname);
Run Code Online (Sandbox Code Playgroud)
别忘了释放它!
否则申报
typedef struct StockDetail {
char name[100];
int code;
int price;
} Stock;
Run Code Online (Sandbox Code Playgroud)