设有定义:char*C;以下选项中能够使C正确指向一个字符串的是( )。A.char str( )=
设有定义:char*C;以下选项中能够使C正确指向一个字符串的是( )。
A.char str( )=”string”;C=str;
B.scanf(”%s”,C.;
C.c=getchar( );
D.*c=”strin9”;
请帮忙给出正确答案和分析,谢谢!
参考解答
正确答案:A
A选项为正确用法,先将字符串存于字符数组中,然后将数组名赋给字符指针(数组名代表数组首地址,定义数组时为其分配确定地址)。C选项错误,getchar()函数只能输入一个字符给字符型变量,而不是字符指针。B选项和D选项有类似的错误,两个选项并无语法错误,但运行时可能会出现问题。因为在B选项和D选项中,字符指针没有被赋值,是个不确定的值,指向一个不确定的内存区域,这个区域可能存放有用的指令或数据。在这个不确定的区域重新存放字符串,可能会发生无法预知的错误。因此A选项正确。
相似问题
下面结构体的定义语句中 错误的是( )。A.struct ord{int x;int Y;int z
下面结构体的定义语句中,错误的是( )。A struct ord{int x;int Y;int z;}struct ord a;B struct ord{int x;im Y;im z;};struct o
有以下程序: 在VC 6.0平台上编译运行 程序运行后的输出结果是( )。A.10 6B.4 4C.
有以下程序: 在VC 6.0平台上编译运行,程序运行后的输出结果是( )。A 10,6B 4,4C 2,4D 4。8请帮忙给出正确答案和分析,谢谢!
有以下程序: 执行程序时 给变量x输入l0 程序运行后的输出结果是( )。A.55B.54C.65D
有以下程序: 执行程序时,给变量x输入l0,程序运行后的输出结果是( )。A 55B 54C 65D 45请帮忙给出正确答案和分析,谢谢!
设有定义: 则以下赋值语句中错误的是( )。A.data2=(2 6);B.data2=datal;
设有定义: 则以下赋值语句中错误的是( )。A data2=(2,6);B data2=datal;C data;real=datal.real;D data2.real=datal.unreal;请帮忙给出正确答案和分析,谢谢!
保存文件是把文件保存到( )A 硬盘B 软盘C 磁盘D 指定位置
保存文件是把文件保存到( )A、硬盘B、软盘C、磁盘D、指定位置
