• 2022-06-08
    中国大学MOOC: 假设有定义:struct { int n; char *str;}st={10,ABCD};则printf(%s,++st.str);的输出是_______。
  • BCD

    内容

    • 0

      若有以下定义和语句struct st{int x;char y;}s;则下列赋值正确的是()。 A: st.x=10; B: st.s.x=10; C: struct st={10, 7}; D: struct st a={10, 7};

    • 1

      完成下面类中成员函数的定义。#include &#91;iostream&#93; #include &#91;string&#93; using namespace std; class str {private: char *st; public: str(char *a) {set(a); } str & operator=(str &a) {delete st; set(a.st); return *this; } void show(){cout<<st<<endl;} ~str(){delete st;} void set(char *s)//初始化st {_____ strcpy(st,s); } }; void main() {str s1("he"),s2("she"); s1.show(),s2.show(); s2=s1; s1.show(),s2.show();}

    • 2

      将输入的字符串按逆序输出,例如输入abcd,则按dcba顺序输出出来,请完善程序。#include stdio.h#include string.hint main( ){char *str, s&#91;20&#93;; int n; str=s; scanf(%s,str); n=strlen(str); while(--n=0){str=s&#91;____&#93;; printf(%c,*str); } return 0;}

    • 3

      设有定义 char str[]=”game_over”,*p=&str[0]; 则语句printf(“%d,%d”,sizeof[str],strlen(p)) 的输出结果是_____.

    • 4

      若有以下定义和语句:struct st{int x;int y;}s;则下列赋值不正确的是()。 A: st.s.x=10; B: struct st a;a.x=10; C: struct st a={10}; D: s.x=10 ;