几道简单的C语言题目,加分啦 10
1.intx=3,y=(5,4);printf(“%d”,x*=y+1);//输出多少?包括以下题目,都求解释2.使用typedef定义一个包含10个整数指针的数组类型a...
1.
int x=3, y=(5, 4);
printf(“%d”, x*=y+1); //输出多少?包括以下题目,都求解释
2.使用typedef定义一个包含10个整数指针的数组类型a:
3.
unsigned signed char 所能表示最大数由UCHAR_MAX定义,则以下程序片断运行后,输出的结果是:
printf(“%d, %x”, UCHAR_MAX, UCHAR_MAX) 展开
int x=3, y=(5, 4);
printf(“%d”, x*=y+1); //输出多少?包括以下题目,都求解释
2.使用typedef定义一个包含10个整数指针的数组类型a:
3.
unsigned signed char 所能表示最大数由UCHAR_MAX定义,则以下程序片断运行后,输出的结果是:
printf(“%d, %x”, UCHAR_MAX, UCHAR_MAX) 展开
3个回答
展开全部
输出15。(5,4)是逗号表达式,结果是最后一个值,也就是4,所以x=3,y=4,然后计算x*=y+1,等价于x = x * (y+1) 等于15.
typedef int* a[10]; typedef的用法记住一条,如果去掉typedef,定义的是变量,加上typedef就是定义“不加typedef的时候的这个变量的“类型
255,ff,char的大小肯定是1字节,最大为255,输出两种格式,十进制和十六进制,分别是255和ff
更多追问追答
追问
请问逗号表达式的用途是干什么的?它都只表示最后一个值
追答
逗号表达式的值是里面最后一个表达式的值,所以前面的表达式如果没有副作用的话是完全没用的,比如 a = b+1, c+2, d+3; 等价于 a = d+3; 前面两个都是没用的。但如果前面的有了副作用,那么就不是没用的了,比如a = (b += 3), a+b; 逗号表达式的第一个表达式修改了b的值,所以对b产生了影响,也对a产生了影响,这种情况下是有用的。
展开全部
x = 3 y = 5 // = 比 , 优先级高所以先给y 赋值为5
x *= (y + 1) // *= 优先级小于 +
x = x * 6
结果18
typedef int *a[10] a //包含10个指针说明a是二级指针,可以采用二维数组方式写
无符号字符类型范围好像是0~255所以结果应该是255
你先试试看对不对,我也只是按照自己的理解写得没测试过
追问
第一个 是y=4
追答
知道啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好久没用C了,如果没记错的话,第一题是15,第二题typedef int *a[10] ,第三个我就不知道了。真心忘记了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询