C语言不会,求大神指导,要详细的解答过程,谢谢了
5个回答
展开全部
#include <stdio.h>
int main()
{
int a=13,b=013,c=-1; //特别注意,这里给b赋值013,说明是八进制数13,相当于十进制数11
printf("%d\n",a=a+1,a+b,b+1); //由于printf双引号中只有一个格式说明符,因此,只输出a=a+1的值14
printf("%d\n",(a=a+1,a+b,b+1));// 现在,输出的数据是一个表达式(a=a+1,a+b,b+1)的值,因为加了括号,说明是一个逗号表达式,其值为b+1的值,12
printf("c=%d,%x,%o,%u\n",c,c,c,c); //分别以十进制、十六进制、八进制和无符号形式输出变量c的值,结果为-1,ffffffff,37777777777,4294967295
return 0;
}
int main()
{
int a=13,b=013,c=-1; //特别注意,这里给b赋值013,说明是八进制数13,相当于十进制数11
printf("%d\n",a=a+1,a+b,b+1); //由于printf双引号中只有一个格式说明符,因此,只输出a=a+1的值14
printf("%d\n",(a=a+1,a+b,b+1));// 现在,输出的数据是一个表达式(a=a+1,a+b,b+1)的值,因为加了括号,说明是一个逗号表达式,其值为b+1的值,12
printf("c=%d,%x,%o,%u\n",c,c,c,c); //分别以十进制、十六进制、八进制和无符号形式输出变量c的值,结果为-1,ffffffff,37777777777,4294967295
return 0;
}
展开全部
前面两个printf输出时只管有赋值号的,即a=a+1,则结果为:
14
15
c=-1,ffffffff(即八个f),37777777777(3跟十个7),4294967295
x为十六进制,o为八进制,u为无符号十进制
14
15
c=-1,ffffffff(即八个f),37777777777(3跟十个7),4294967295
x为十六进制,o为八进制,u为无符号十进制
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a=13,b=013,c=-1;[a=13,b=11,c=-1]013是八进制数转换成十进制=1*8+3=11
printf("%d\n",a=a+1,a+b,b+1);相当于a=a+1; printf("%d\n",a,a+b,b+1);[a=14,b=11,c=-1]
由于printf中格式字符串只需要一个整型数据输出,则格式字串后面的第1个表达式的取值被输出得到输出14,赋值语句表达式在赋值完成后,被赋值变量的取值是整个表达式的值
printf("%d\n",(a=a+1,a+b,b+1));[a=15,b=11,c=-1]得到输出12
对于逗号表达式(a=a+1,a+b,b+1)其执行是按照从左到右顺序,先给a赋值,然后计算a+b,但结果没有保存,最后计算b+1等于12,由于逗号表达式取值是最后一个式子的计算结果,所以提供给printf显示的数据是12
printf("c=%d,%x,%o,%u\n",c,c,c,c);假设整型是32位的,得到输出
c=-1,ffffffff,37777777777,4294967295
第1个参数按照有符号整型输出(%d),得到-1
第2个参数按照十六进制无符号整型输出(%x),得到ffffffff,由于二进制表示-1就是32位全1
第3个参数按照八进制无符号整型输出(%o),得到37777777777
第4个参数按照十进制无符号整型输出(%u),得到4294967295
printf("%d\n",a=a+1,a+b,b+1);相当于a=a+1; printf("%d\n",a,a+b,b+1);[a=14,b=11,c=-1]
由于printf中格式字符串只需要一个整型数据输出,则格式字串后面的第1个表达式的取值被输出得到输出14,赋值语句表达式在赋值完成后,被赋值变量的取值是整个表达式的值
printf("%d\n",(a=a+1,a+b,b+1));[a=15,b=11,c=-1]得到输出12
对于逗号表达式(a=a+1,a+b,b+1)其执行是按照从左到右顺序,先给a赋值,然后计算a+b,但结果没有保存,最后计算b+1等于12,由于逗号表达式取值是最后一个式子的计算结果,所以提供给printf显示的数据是12
printf("c=%d,%x,%o,%u\n",c,c,c,c);假设整型是32位的,得到输出
c=-1,ffffffff,37777777777,4294967295
第1个参数按照有符号整型输出(%d),得到-1
第2个参数按照十六进制无符号整型输出(%x),得到ffffffff,由于二进制表示-1就是32位全1
第3个参数按照八进制无符号整型输出(%o),得到37777777777
第4个参数按照十进制无符号整型输出(%u),得到4294967295
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多看看书
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言在线讲解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询