作业帮 > 综合 > 作业

如果x的当前值为5,则执行语句“if(x=3) x=x+5”后,x的值认为5.这句话对还是错?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/05 14:38:53
如果x的当前值为5,则执行语句“if(x=3) x=x+5”后,x的值认为5.这句话对还是错?
1、在C++语言中,表达式(010+2)的值是?为什么?
2、声明语句为“char a[10]”,执行printf(“%d,%d\n”,strcmp("abc","aBc"),strlen(strcpy(a,"windows")))的输出结果是什么?

x=3是赋值表达式,就是将3赋值给x,表达式的返回值为3,这时x的值为3,由于返回值3为真,会进入if语句,然后执行x = x + 5,就是将3 + 5后赋值给x,最后x的值为8
010,以0开头的整数,为8进制
以0x开头的整数,为16进制
010转换成10进制就是8,运算结果以10进制显示就是10,以8进制显示是12
printf(“%d,%d\n”,strcmp("abc","aBc"),strlen(strcpy(a,"windows")))
strcmp(A,B)为字符串比较函数,若A>B,则返回1,A=B则返回0,A"aBc",所以第一个输出1
strcpy(A,B)为字符串拷贝函数,返回值为源字符串B
strlen(A)用来求字符串的实际长度
由于strcpy(a,"windows")返回字符串"windows",故字符串的长度为7,所以第二个输出7
综上,输出结果是:1,7