为您找到"

int a;char* p=&a错在哪

"相关结果约100,000,000个

若有定义int a[5],*p=a;则正确引用数组元素的是 a *&a[5] b *a+2 c

正确引用数组元素的 是 *(a+2), 它等同 a[2];(p+5) 错在超界了。如果是 *(p+2) 或 *(p+4) 那么也是对的。 *(p+5) 指向 a[5], 按声明,下标最大到 a[4]。&a[5] -- 也是下标超界 a+2 是 a[0]+2, 不是 引用 1个 数组元素,而是表达式。

(22)有以下定义语句,编译时会出现编译错误的是char a='aa'; 这个哪里...

22. char a='aa'; a是字符变量,只能存储一个字符!23. %c 打印字符 %d 打印整数,至于是什么值,请对照ASCII表查看!33. 答案:A。 但楼上解释均有误!void (*pf)(); 定义函数指针pf,指向返回值为void的函数,参数任意 pf = fun; 正确!pf = &fun; 正确!C...

...#include"string.h" int main() { char p[]={"a","b","c"},q[1...

这个我知道,以前我也遇到过这种情况。在Turbo C下运行就能正确输出。首先要改正一下你的输入错误,把双引号改成半角的单引号,输出一个是7一个是3。再来看为什么输出是7、3?首先清楚:strlen函数是遇到结束符'\0'才终止的。问题出在:char p[]={'a','b','c'},p[]你没指定长度,系统就不...

C/C++中的语句中的 (char*)&p

"(char*)" 是C式的类型转换, 就是把一个值转换为 字符指针 类型 '&'是取地址/取引用 运算符," &p"的意思就是 取得变量p的内存逻辑地址。然后把这个逻辑地址解释为 字符指针类型 (char *)

int a=5,*p1=&a,*p2;则不能正确赋值的语句是?

把它分开来看:int a = 5;int* p1 = &a;int* p2;选项A.*p1 = 10:因为p1存着a的地址,所以*p1就是a, 相当于a = 10,所以没问题 选项B.p2 = &a:因为和p1的赋值方式一样,都是a的地址,所以可以通过编译 选项C.*p2 = 10:p2还没初始化,属于野指针(也就是不知道指向那块内存...

C语言,输入2个数X和Y,要求输入一个算术运算符(+,–,*或/),并对X和Y...

int main(){ int a,b;char ch;printf("请输入x=");scanf("%d",&a);printf("请输入y=");scanf("%d",&b);printf("请输入需要进行的运算:");scanf("%c",&ch);switch(ch)case '+':printf("x+y=%d\n",a+b);break;case '-':printf("x-y=%d\n",a-b);break;case '*':...

关于C语言指针的问题

p=&a;//&a的结果是一个指针,类型是int*,指向的类型是int,指向的地址 是a的地址。 *p=24;//*p的结果,在这里它的类型是int,它所占用的地址是p所指向的地 址,显然,*p就是变量a。 ptr=&p;//&p的结果是个指针,该指针的类型是p的类型加个*,在这里是int **。该指针所指向的类型是p的类型,这里是...

错误提示的第一句话: “格式字符串只能是"G","g","X","x","F","f...

code = (char)('a' + (char)i);写错了。应该把数字转换为字符。。('a' + (char)i)里应该是int型。

若有: int a=3; *p=&a; p=p+4; 以下说法中正确的是()

选B。分析:A 执行语句:p=p+4;后,只是p的值发生了变化,a的值不会变为7。B 执行语句:p=p+4;后,指针p移动4个位置。正确。C 执行语句:p=p+4;后,*p的值不一定是NULL。D 执行语句:p=p+4;后,程序不会报错。

java编程char m='a'+y; char t='a'+x; 这两个语句为什么报错

short t=12+'a';char c='a'+1;//以下两行都错误,因为'a'+y与'a'+x的结果的类型都是int,不能隐式转换为char类型,//但可以进行强制类型转换 //char m='a'+y;//char ch='a'+x;char m=(char)('a'+y); //强制类型转换 char ch=(char)('a'+x); //强制类型转换 byte n...
1 2 3 4 5 6 7 8 9

相关搜索