更多“下列程序段中,不能正确赋值的是()。A.char*p,ch; p=&Ch; scanf("%c",&p);B.char*p; p=cha ”相关问题
  • 第1题:

    下列程序段中,不能正确赋值的是( )。

    A.char*p,ch; p=&ch; scanf ("%c",&p);

    B.char*p; p=(char*)malloc(1); scabf("%c",p);

    C.char*p; *p=getchar();

    D.char*p,ch; p=&ch; *p=getchar();


    正确答案:C
    解析:地址变量p指向的存储空间一定要明确,否则可能影响程序的正确性。

  • 第2题:

    下列程序段中,不能正确赋值的是

    A.char*p,ch; p=&ch; scanf("%c,&p")

    B.char*p; p=(char*)malloc(1); scanf("%c",p);

    C.char*p; *p=getchar();

    D.char*p,ch; p=缸h; *p=getchar();


    正确答案:C
    解析: 本题考查了字符的输入函数getchax和利用scanf函数输入一个字符。用scanf输入字符时,格式说明字符应该为%c。本题选项C)因为指针P没有赋初值,所以是一个不定值,不能直接将getchar读入的字符赋给指针p所指向的字符,所以选项C错误。

  • 第3题:

    若有定义char *p,ch;则不能正确赋值的语句组是()。

    A.p=&ch;scanf(“%c”,p);

    B.p=NULL; scanf(“%c”,&ch);

    C.*p=getchar(); p=&ch;

    D.p=&ch;*p=getchar();


    *p=getchar(); p=&ch;

  • 第4题:

    以下正确的程序段是

    A.cgar str[20]; scanf("%s",&str);

    B.char*p; scanf("%s",p);

    C.char str[20]; scanf("%s",&str[2])

    D.char str[20],*p=str; scanf("%s",p[2]);


    正确答案:C
    解析:scanf输入字符串有一点要注意的是,格式控制串必须用%s。注意:gets函数和puts函数的作用。

  • 第5题:

    下列程序段中,不能正确赋值的是( )。

    A.char*p,ch; p=&ch; scanf("%c",&p);

    B.char*p; p=(char*)malloc(1); scanf("%c",p);

    C.char*p; *p=getchar();

    D.char*p,ch; p=&ch; *p=getchar();


    正确答案:C
    解析:地址变量p指向的存储空间一定要明确,否则可能影响程序的正确性。