char a=85; a>90? 1: a>80? 2: a>70? 3: a>60? 4: 5 上面的表达式结果是什么?
作者&投稿:暨侍 (若有异议请与网页底部的电邮联系)
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‘的所占字节数,所以也不对。
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.
茶治复方: 不能,你可以这样 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是否定义...