我寫了如下簡單的C++結構實現來查看指向結構的指針的用法。C++結構字符串和整數輸入
#include <iostream>
struct Employee
{
std::string name;
std::string sex;
int e_id;
}emp[2];
void printEmployee(struct Employee *e)
{
std::cout << e->name << std::endl;
std::cout << e->sex << std::endl;
std::cout << e->e_id << std::endl;
}
int main(int argc, char const *argv[])
{
struct Employee *e_ptr;
e_ptr = emp;
for (int i = 0; i < 2; ++i)
{
std::getline(std::cin, emp[i].name);
std::getline(std::cin, emp[i].sex);
std::cin >> emp[i].e_id;
}
for (int i = 0; i < 2; ++i)
{
printEmployee(e_ptr+i);
std::cout << std::endl;
}
return 0;
}
的輸入是
John Smith
male
123
Sarah Collin
female
這些輸入之後,程序將顯示輸出雖然代碼應該採取一個以上輸入。輸出是
John Smith
male
123
Sarah Collin
0
,但如果我不包括int e_id
成爲會員,然後代碼工作完美。
明白了,謝謝:)而且,如果我輸入123SPACE而不是輸入,它確實有效。 –