首页 > 电脑

若有以下定义,则正确的程序是,int*p,*s,i,j;char*q,ch;

更新时间2022-03-17 16:36:21

sos】若有以下定义,则正确的程序段是__ int *p,*s,i,j; char *q,ch;
2013.10.31浏览157次操作系统分享举报Amain()
{*p=100;...}
Bmain()
{p=&ch;s=p;...}
Cmain()
{p=&i;q=&ch;p=q;...}
Dmain()
{p=&i;q=&ch;*p=40;*q=*p;...}
习题答案是D,为啥有没有大佬教教

首先,你要说明你的语言,是C或C++

因为对c语言,上面所有的程序段都没有语法错,而对C++。B/C中,类型不匹配

B中,p=&ch, 直接将char *赋给int *,是C++语法不允许的

而C中,p=q,道理同B

A语法没错,但p没有分配内存,是个"野"指针,运行要出错的

所以对C++,只有D是正确的(c++的int与char变量可以隐式转换,相互赋值 )

而对c语言,B/C/D都是可以正常编译运行的,只是某些编译器会有警告信息。


上一篇:制作好的快手如何显示结束

下一篇:设有以下程序段:charstr[4][10]={“frist”,”secon