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

白也_839 |浏览604次
收藏|2022/03/09 20:15

满意回答

2022/03/09 20:26

首先,你要说明你的语言,是C或C++因为对C语言,上面所有的程序段都没有语法错,而对C++。B/C中,类型不匹配B中,p=&ch, 直接将char *赋给int *,是C++语法不允许的而C中,p=q,道理同BA语法没错,但p没有分配内存,是个"野"指针,运行要出错的所以对C++,只有D是正确的(c++的int与char变量可以隐式转换,相互赋值 )而对C语言,B/C/D都是可以正常编译运行的,只是某些编译器会有警告信息。

whoami1978

其他回答(0)
0人关注该问题
+1

 加载中...