为了账号安全,请及时绑定邮箱和手机立即绑定

几个小疑问

几个小疑问

C C++
xungeer29 2017-10-21 14:45:45
#include<iostream> //#include<cstring>   //为什么这里注释了程序还能正常运行?程序里有strcpy、strlen using namespace std; const int SLEN = 30; struct student {  char fullname[SLEN];  char hobby[SLEN];  int ooplevel; }; int getinfo(student pa[], int n); void display1(student st); void display2(const student *ps); void display3(const student pa[], int n); int main() {  cout << "Enter class size: ";  int class_size;  cin >> class_size;  while (cin.get() != '\n')   continue;  student *ptr_stu = new student[class_size];  int entered = getinfo(ptr_stu, class_size);  for (int i = 0; i < entered; i++)  {   display1(ptr_stu[i]);   display2(&ptr_stu[i]);  }  display3(ptr_stu, entered);  delete[] ptr_stu;  cout << "Done\n";  return 0; } int getinfo(student pa[], int n) {  int num_array_elem = n;  char temp[SLEN];  for (int i = 0; i < n; i++)  {   cout << "Enter name: ";   cin.getline(temp, SLEN);   bool blank_line = true;                       for (unsigned j = 0; j < strlen(temp); j++)//strlen   {                                              if (!isspace(temp[j]))                        {                                              blank_line = false;                           break;                                       }   }   if (blank_line)   {    num_array_elem = i;    break;   }   strcpy_s(pa[i].fullname, temp);               //strcpy   cout << "Enter hobby: ";   cin.getline(pa[i].hobby, SLEN);   cout << "Enter ooplevel: ";   cin >> pa[i].ooplevel;   cin.get();                                //这一句什么作用?  }  cout << endl;  return num_array_elem; } void display1(student st) {  cout << st.fullname << '\t' << st.hobby << '\t' << st.ooplevel << endl; } void display2(const student *ps) {  cout << ps->fullname << '\t' << ps->hobby << '\t' << ps->ooplevel << endl; } void display3(const student pa[], int n) {  for (int i = 0; i < n; i++)  {   cout << pa[i].fullname << '\t'    << pa[i].hobby << '\t'    << pa[i].ooplevel << endl;  } }
查看完整描述

1 回答

已采纳
?
木柘

TA贡献143条经验 获得超94个赞

在我的IDE里无法通过编译,你运行前重新编译覆盖之前的。

查看完整回答
反对 回复 2017-10-21
  • 1 回答
  • 0 关注
  • 1330 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信