若定义:int a=511,*b=&a;, 则printf("%d\n",*b);的输出结果为
发布网友
发布时间:2024-09-29 10:06
我来回答
共5个回答
热心网友
时间:2024-09-29 10:09
int
a=511,*b=&a;
a是整形变量
b是整形指针变量,指向a
printf("%d\n",*b);
就是输出指针变量b,
所指变量的值输出结果511
或:
*b=&a 这句是把a地址上的值赋值给*b
所以 printf("%d\n",*b)的值是511
扩展资料:
and运算通常用于二进制的取位操作,例如一个数 and 1的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数为偶数,最末位为1表示该数为奇数。
or运算通常用于二进制特定位上的无条件赋值,例如一个数or 1的结果就是把二进制最末位强行变成1。如果需要把二进制最末位变成0,对这个数or 1之后再减一就可以了,其实际意义就是把这个数强行变成最接近的偶数。
参考资料来源:百度百科-位运算
热心网友
时间:2024-09-29 10:10
int a=511,*b=&a;
a 是整形变量
b 是整形指针变量,指向 a
printf("%d\n",*b);
就是输出指针变量 b,所指变量的值
输出结果
511
热心网友
时间:2024-09-29 10:10
定义了一个指针b存放的是a的地址 printf("%d\n",*b);输出地址里的值 也就是a的值511
结果为511
热心网友
时间:2024-09-29 10:11
*b=&a 这句是把a地址上的值赋值给*b
所以 printf("%d\n",*b)的值是511
热心网友
时间:2024-09-29 10:12
输出的肯定不是511.我想应该是b所指的首地址。
若定义:int a=511,*b=&a;, 则printf("%d\n",*b);的输出结果为
所指变量的值输出结果511 或:b=&a 这句是把a地址上的值赋值给*b 所以 printf("%d\n",*b)的值是511
...main(){inta=23;printf('%d n',(a 3>0?a 10:a%3));}
【答案】:2 解析:(a/3<0?a/10:a%3),因为a=23;次表达式为三目运算,是说,如果a/3<0为真,即取值a/10;反之,取值a%3;但a/3>0,所以a/3<0为假,即输出的结果为:a%3的余数,即为2。
...b=6;printf("%d",printf("%d%d",a,b));输出为什么是562?
先由嵌套在内部的printf("%d%d",a,b)打出56,再由外部的printf("%d",printf...);打印出嵌套在内部的printf("%d%d",a,b)的返回值2——因为内部的printf("%d%d",a,b)输出了两个数据a和b,所以返回输出数据个数是2。把这个语句拆开写就一目了然:int a=5;int b=6,tmp;//增设一个临...
设有inta=65;执行语句printf("%x\n",a)后的结果是多少?
65的十六进制呗 41
C语言问题 printf("%*d %*d\n",a,a,b,b);
printf("%d",a);,输出整数a.printf("%5d",a);将整数a按5个字符的宽度显示。printf("%*d",len,a);将整数a按len个字符的宽度显示。*号告诉printf待打印字符的显示宽度从后面的参数列表中提取,指定是多少就按多少个字符宽度显示。
!!0!!!1!!
inta,b;a=!0;b=!!0;printf("a=%d,b=%d\n",a,b);输出结果:a=1,b=0 每个字符串都以'\0'结尾,*(s+i)表示字符串第i个字符,所以*(s+i)!='\0'判断是否到结尾。100表示数组c的大小,可以根据字符长度改变。100表示可以输入100个字符。可以不用数组,比如C++的string,就...
main() {int a=10 ; a=(3*5,a+4);printf("a=%d\n",a); } 的结果
为何a[0]=2:因为(x++)是运算之后再自加 a[1]=(x++,x+3,x+7);那么最终结果是:a[1]=11 ,x=4 第一反应,我以为a[1]=10,就是3+7;其实是错的,逗号运算是从左至右,所以先算 x++,x从而变成4了,然后a[1]=4+7=11;不信你改成a[1]=(x++,x+3);调试一下,结果是7,就...
inta=12;a=a&052;printf(“%d\n”,a)输出的结果为多少
a=12,12的二进制位为1100;0开头的数表示8进制数,故052的二进制为101010。&表示按位与,只有两数对应的位都为1才为1,否则为0。12和052的按位与为: 001100 & 101010 --- 001000 结果为2进制的1000,换算为10进制就是8,故输出为8。
...输入一个四位数,输出它的各位数字之和。如n=1234,输出10
include<stdio.h> include<stdlib.h> intmain(){ inta,b;scanf("%d",&a);b=(a/1000)+(a%1000)/100+(a%100)/10+a%10;printf("b=%d\n",b);system("pause");return0;}
float x=1.5; inta=1, b=3, c=2;
若有定义:float x=1.5;int a=1,b=3,c=2;,则正确的switch语句是:switch(a+b){case 1:printf("*\n");case 2+1:printf("**\n");} 所以这一题选择C。switch语句的基本形式 switch(表达式){ case 常量表达式1: 语句1;case常量表达式2: 语句2;...case常量表达式n: 语句n;default:...