网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
问答题
PTR运算符有何功能?
参考答案
参考解析
解析:
暂无解析
更多 “问答题PTR运算符有何功能?” 相关考题
考题
已知类A有公用数据成员a,并重载了一运算符,且有A obj2;const A*ptr=new A;则下列语句错误的是( )。A.ptr-a=100;B.ptr=obj2;C.ptr++;D.obj2=*ptr;
考题
已知类A有公用数据成员a,且有A ohj2;A*const ptr-new A;则下列语句正确的是( )。A)ptr-a=100;B)ptr=obj2;C)ptr++;D)ptr=obj2;
考题
试题四(共 15 分)阅读以下说明和 C 函数,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式“46+5*(120-37)”的后缀表达式形式为“46 5 120 37 - * +” 。计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇到运算符,则从栈中弹出相关运算对象进行计算,并将运算结果压入栈中,重复以上过程,直到后缀表达式扫描结束。例如,后缀表达式“46 5 120 37 - * +”的计算过程为:a. 依次将 46、5、120、37 压入栈中;b. 遇到“-”,取出 37、120,计算 120–37,得 83,将其压入栈中;c. 遇到“*”,取出 83、5,计算 5*83,得 415,将其压入栈中;d. 遇到“+”,取出 415、46,计算 46+415,得 461,将其压入栈中;e. 表达式结束,则计算过程完成。函数 computing(char expr[],int *result)的功能是基于栈计算后缀形式的表达式(以串形式存入字符数组 expr)的值,并通过参数 result 返回该值。函数的返回值为-1/0 分别表示表达式有/无错误。假设表达式中仅包含数字、空格和算术运算符号,其中所有项均以空格分隔,且运算符仅包含加(“+”)、减(“-”)、乘(“*”)、除(“\”)。函数 computing 中所用栈的基本操作的函数原型说明如下:void InitStack(STACK *s):初始化栈。void Push(STACK *s, int e): 将一个整数压栈,栈中元素数目增 1。void Pop(STACK *s):栈顶元素出栈,栈中元素数目减 1。int Top(STACK s):返回非空栈的栈顶元素值,栈中元素数目不变。int IsEmpty(STACK s):若s 是空栈,则返回1 否则返回 0。[C 函数]int computing(char expr[], int *result){STACK s; int tnum, a,b; char *ptr;InitStack(s);ptr = expr; /*字符指针指向后缀表达式串的第一个字符*/while (*ptr!='\0') {if (*ptr==' ') { /*当前字符是空格*/(1) ; /*字符指针指向下一字符*/continue;}elseif (isdigit(*ptr)) {/*当前字符是数字,则将该数字开始的数字串转换为数值*/tnum = (2) ;while (*ptr=’0’ *ptr =’9’) {tnum = tnum * 10 + (3) ;ptr++;}Push( (4) );}else /*当前字符是运算符或其他符号*/if (*ptr=='+'||*ptr=='-'||*ptr =='*'||*ptr =='/'){if (!IsEmpty(s)) {a = Top(s); Pop(s); /*取运算符的第二个运算数*/if (!IsEmpty(s)) {b = Top(s); Pop(s); /*取运算符的第一个运算数*/}else return -1;}else return -1;switch (*ptr) {case '+': Push(s,b+a); break;case '-': Push(s,b-a); break;case '*': Push(s,b*a); break;case '/': Push(s,b/a); break;}}elsereturn -1;ptr++; /*字符指针指向下一字符*/} /* while */if (IsEmpty(s)) return -1;else {(5) = Top(s); Pop(s); /*取运算结果*/if (!IsEmpty(s)) return -1;return 0;}}
考题
已知类A有公用数据成员a,且有A obj2;A*const ptr=new A;则下列语句正确的是A.ptr->a=100;B.ptr=obj2;C.ptr++;D.ptr=obj2;
考题
已有定义“int k=2;int*ptr1, *ptr2;”,且ptr1和ptr2均已指向变量k,下面不能正确执行的语句是______。A.k=*ptr1+*ptr2;B.ptr2=k;C.ptr1=ptr2;D.K=*ptr1*(*ptr2);
考题
下列有关指针的用法中错误的是( )。A.int i;int *ptr=i;B.inti;int *ptr;i=*ptr;C.int *ptr;ptr=0;D.int i=5;int *ptr;*ptri;
考题
下面函数的功能是______。 exchange(int*ptr1,*ptr2) { int*ptr; ptr=-ptr1; ptr1=ptr2; ptr2=ptr; }A.交换*ptr1和*ptr2的值B.无法改变*ptr1和*ptr2的值C.可能造成系统故障,因为使用了空指针D.交换*ptr1和*pb2的地址
考题
以下程序段的输出为( ) static char a[]="language",b[]="progratne"; char *ptr1,*ptr2; int k; ptr1=a;ptr2=b; for(k=0;k<7;k++) if(*(ptr1+k)==*(ptr2+k)) printf("%c",*(ptr1+k));A.gaeB.gaC.languageD.有语法错误
考题
在整型指针变量ptr1、ptr12的定义中,错误的是 ______。A.int x, *ptr1, ptr2;B.int*ptrl, x, *ptr2;C.int x,*ptrl=x,*ptr2;D.int*ptr1, x,*ptr2=x;
考题
请教:2016年计算机二级C++基础练习二单选题15如何解答?
已知类A有公用数据成员a,并重载了=运算符,且有Aobj2;constA*ptr=newA;,则下列语句错误的是()。A.ptr-a=100;B.ptr=obj2;C.ptr++;D.obj2=*ptr;
考题
已有定义int k=2;int*ptr1,*ptr2;且ptr1、ptr2均已指向变量k,下面不能正确执行的赋值语句是()A、k=*ptr1+*ptr2B、prt2=k;C、ptr1=ptr2D、k=*ptr1*(*ptr2)
考题
问答题运算符重载实际上通过函数来重新定义运算符的功能,运算符重载的功能直接通过函数调用是否可以?
热门标签
最新试卷