char a=85; a>90? 1: a>80? 2: a>70? 3: a>60? 4: 5 上面的表达式结果是什么?

作者&投稿:暨侍 (若有异议请与网页底部的电邮联系)
以下表达式是否合法,请解释:char(55+3) (char)55+3 (char)(55+3) int(a) int(a+b)~

operator Type();
}

意思是将类 A 的对象转换为 Type 类型
这个函数没有参数,没有返回值,因为:
函数参数不需要,就是对象自己
函数返回值不需要,就是函数名
举个实例,直接编译运行一下,你应该不会再有疑问了:


#include <iostream>
using namespace std;

class A
{
public:
A(char* str):strName(str){}
operator char*()
{
cout << "转换函数被调用了" << endl;
return strName;
}
private:
char* strName;
int i;
};

void f(char* str)
{
cout << str << endl;;
}

int main(int argc, char *argv[])
{
A a("Hello World!");
f(a);
return 0;
}

答案应该选A。
对于B,计算的是char类型的字节大小,明显不对。
C、D答案等价,计算的都是字符'1‘的所占字节数,所以也不对。

结果是2.
char a=85; a>90? 1: a>80? 2: a>70? 3: a>60? 4: 5 相当于
char a=85,b;b=( a>90? 1: a>80? 2: a>70? 3: a>60? 4: 5);
执行顺序是:先判断 a>90是否为真,为真则b=1,为假则b=(a>80? 2: a>70? 3: a>60? 4: 5);
再判断a>80是否为真,为真则该条件表达式的值是2,为假则继续判断a>70? 3: a>60? 4: 5);
。因为a=85,大于80,所为不用再判断了,最终得值 b为2.


黄州区13773618154: ★C语言 字符变量 若有定义语句:char a='\82';则变量a.. 答案是说明不合法,我选的 -
茶治复方: 不能,你可以这样 a = 82;或者你可以如下这样 a = '\122';

黄州区13773618154: 设有变量定义语句char a; -
茶治复方: 选A A a= '&'是正确的 B a='16'因为a是被定义为char,所以必须是字符,而16是字符串,不是字符, 所以是错的 C a=”&”; 是因为定义char a,不是string a,字符串是用“”引的,而字符时用''引的, 所以是错的 D a=''';是错的,C语言规定不能将单引号 作为字符常量

黄州区13773618154: 假设有字符数组定义语句"char a[]="language";",数组a的大小为 - -----. -
茶治复方: 数组a的大小为9个,包括了最后一个结尾的'\0'.注意和数组元素个数区分开来,数组元素个数等于strlen(a),是不包括最后的'\0'的

黄州区13773618154: 2) 给定一个字符变量输出其二进制反转形式.例如char a='a'; 其二进制为01100001,反转形式为10000110.(提示:使用位运算) -
茶治复方: <<

黄州区13773618154: chat A与chat A='A'有什么不同? -
茶治复方: char A;的意思是申明了一个char型的变量,它的名字叫A,但是里面的值是系统默认分配给char的值.而char A = 'A'是说申明了一个char的变量,他的名字叫A,而且给他赋值为'A'.所以,在你的程序中.char A ; //这步完了之后A里面...

黄州区13773618154: c语言问题 char a[20]="abcd\06875" ;a中还有多少个字符? -
茶治复方: 9个.abcd是四个 \06是一个875是三个'\0'是一个 其中\06是转义字符,以零开始的是八进制转义字符,8不是八进制数,所以到8就停了.

黄州区13773618154: char a="A"怎么错了? -
茶治复方: 你这个问题很多面试官会问:"a"和'a'有啥区别第一个是字符串 第二个是字符 第一个占两个字节 第二个占一个字节 第一个字符'a'后面会有个'\0'

黄州区13773618154: main() { char a='a',b; printf("%c",++a); printf("%c\n",b=a++); -
茶治复方: 因为 char 是字符类型的 a的 ascll码是97 , 97+1 就是9898对应的字符是'b' 所以a++后 变成b 你输出2次 就是bb

黄州区13773618154: C++ 知道char a[2],char b[3] a[0]='a' a[1]='a' b[0]='b' b[1]='b' b[2]='b' -
茶治复方: string aabbb ;aabbb.pushback ( a[0] ) ;aabbb.pushback ( a[1] ) ;aabbb.pushback ( b[0] ) ...

黄州区13773618154: 请详细解释一下C++中字符常量的用法.关于char a ,char'a' 和char“a”,有什么用法区别啊? -
茶治复方: char b='a'; cout<<b;结果是a 为什么不是输出97? 答:你定义的b是char型,所以输出的是char型,当然就是字符a 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 char b=a; cout<<b;错误了? 你的a是否定义...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网