Char Array в Struct печатает мусор

когда я запускаю это, массив символов partName печатает символы мусора. есть идеи, почему? Спасибо!

typedef struct {
char partName[30]; 
int partNumber; 
float price; 
int stock; 
int reorder;
} inventory;
struct address{
char streetAddress[25]; 
char city[20];
char state[3]; 
char zipCode[6];
};
void GetData(){

inventory order;
address orderAddress;
printf("Enter the part number (Database Includes orders 0001 - 0005):  ");

scanf("%d", &order.partNumber);

if(order.partNumber == 0001){
order.partName == "Pokeball";
order.price == 200;
order.stock == 8263;
order.reorder == 888273;

orderAddress.streetAddress == "21 Oak St.";
orderAddress.city == "Kanto Town";
orderAddress.state == "IA";
orderAddress.zipCode == "28832";

printf("Part was: %s ", order.partName);
//printf("Order was sent to: \n %s\n %s\n %s\n %s\n", orderAddress.streetAddress,         orderAddress.city, orderAddress.state, orderAddress.zipCode);
 }

Он печатает несколько случайных символов, и я уверен, что это где-то простая ошибка.

Спасибо, парни!


person Rupert    schedule 12.04.2013    source источник
comment
Вы должны присвоить значение переменной, прежде чем пытаться ее распечатать.   -  person David Schwartz    schedule 12.04.2013
comment
попробуйте этот strcpy(order.partName, Pokeball);   -  person Arun    schedule 12.04.2013
comment
Если вы не получили предупреждений компилятора для этого кода, вам нужно проверить, как включить больше предупреждений в вашем компиляторе, или получить новое.   -  person Lundin    schedule 12.04.2013


Ответы (1)


Следующее не является назначением. Это сравнения:

order.partName == "Pokeball";
order.price == 200;
order.stock == 8263;
order.reorder == 888273;

orderAddress.streetAddress == "21 Oak St.";
orderAddress.city == "Kanto Town";
orderAddress.state == "IA";
orderAddress.zipCode == "28832";

Чтобы присвоить целые числа, напишите

order.price = 200;

Чтобы назначить строки C, используйте strcpy() и др.

person NPE    schedule 12.04.2013
comment
Ну вот, ошибка новичка. Благодарю вас! - person Rupert; 12.04.2013