更多“有以下语句:int b;char c[10];,则正确的输入语句是( )。A.scanf("%d%s",&b,&C);B.scanf("%d%s",&b ”相关问题
  • 第1题:

    有定义语句:int b;char c[10];,则正确的输入语句是

    A.scanf("%d%s",&b,&C) ;

    B.scanf("%d%s",&b,C) ;

    C.scanf("%d%s",b,C) ;

    D.scanf("%d%s",b,&C) ;


    正确答案:B
    解析:scanf函数的第一个参数是格式控制字符串,该字符串中所出现的格式控制符必须与scanf函数的笫二个及其后面的参数一一对应.本题中四个选项的格式控制字符串都是"%d%s",其中包括两个格式控制符%d和%s,它们分别表示输入一个十进制整数和输入一个字符串,其对应的参数应该分别为一个整型变量的地址和一个字符型数组的首地址。变量的地址可以通过对变量做取地址(&)运算来得到,而宇符型数组的首地址则可以直接通过数组名来得到。所以,4个选项中选项B符合题意。

  • 第2题:

    有定义语句:iht b;char c[10];,则正确的输入语句是

    A.scanf("%d%s",&b,&c);

    B.scanf("%d%s",&b,c);

    C.scanf("%d%s",b,c);

    D.scanf("%d%s",b,&c);


    正确答案:B
    解析:定义b为整型数,c为字符数组,所以在输入语句的地址表列中,要在b前加上取址符“&”,而c就是字符数组的首地址,所以不用加上取址符&。

  • 第3题:

    有以下结构体说明、变量定义和赋值语句 struct STD { char name[10]; int age; char sex; } s[5],*ps; ps=&s[0]; 则以下scanf函数调用语句有错误的是()

    A.scanf("%s",s[0].name);

    B.scanf("%d",&s[0].age);

    C.scanf("%c",&(ps->sex));

    D.scanf("%d",ps->age);


    A ps一>age不是地址,不能用于scanf函数中。所以选择A)。

  • 第4题:

    有定义语句:int b;char c[10];,则正确的输入语句是

    A.scanf("%d%s",&b,&c);

    B.scanf("%d%s",&b,c);

    C.scanf("%d%s",b,c);

    D.scanf("%d%s",b,&c);


    正确答案:B
    解析:定义b为整型数,c为字符数组,所以在输入语句的地址表列中,要在b前加上取址符“&”,而c就是字符数组的首地址,所以不用加上取址符“&”。

  • 第5题:

    有定义语句:int b;char c[10] ;则正确的输入语句是( )。

    A.seanf("%d%s" ,&b,&c);

    B.scanf("%d%s",&b,c);

    C.seanf("%d%s",b,c);

    D.scanf("%d%s",b,&c);


    正确答案:B
    解析:scanf函数中格式控制后面是地址表列,不能用变量名。数组名c代表数组在内存的首地址,&b代表变量b的首地址,选项B)正确。