工作正常,但跳過字符串名稱中的第一個字符。任何人都可以解釋我沒有看到什麼嗎?C程序跳過字符串中的第一個字符
#include "stdio.h"
/*
*BN
*/
int main(void) {
// Disable stdout buffering
//setvbuf(stdout, NULL, _IONBF, 0);
struct data {
char name[40];
char street[50];
char city[30];
char state[3];
char zip[6];
float salary;
};
struct data p = {
scanf("%s %s %s %s %s %f", &p.name, &p.street, &p.city, &p.state, &p.zip, &p.salary)
};
printf(" Name:%s\n Street:%s\n City:%s\n State:%s\n Zipcode:%s\n Salary:%.2f", p.name, p.street, p.city, p.state, p.zip, p.salary);
return 0;
}
因爲你如何初始化結構,這不是。 [詳細瞭解'scanf'](http://en.cppreference.com/w/c/io/fscanf),請密切關注它返回的內容。 –
結構初始化不正確。檢查:http://stackoverflow.com/questions/330793/how-to-initialize-a-struct-in-accordance-with-c-programming-language-standards – Ehsan
我同意它不是如何在c中初始化結構。但是有人能解釋爲什麼除了第一個字符之外,結構正確地初始化了嗎? – MayurK