已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是()

题目
单选题
已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是()
A

scanf(“%d”,&a)

B

scanf(“%lf”,&a)

C

scanf(“%c”,&a)

D

scanf(“%u”,&a)

参考答案和解析
正确答案: A
解析: 暂无解析
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

请编写一个函数void fun(cbara [], charb [], int n),其功能是:删除一个字符申中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。

例如,输入一个字符串world,然后输入3,则调用该函数后的结果为word。

注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

include <stdio.h>

include <conio.h>

define LEN 20

void fun (char a[], char b [], int n)

{

}

main ()

{

char str1 [LEN], str2 [LEN];

int n ;

clrscr ();

printf ("Enter the string : \n") ;

gets (str1) ;

printf ("Enter the position of the string

deleted: ");

scanf ("%d", &n) ;

fun (str1, str2, n) ;

printf ("The new string is : %s \n",

str2) ;

}


正确答案:void fun {char a[] char b[]int n) { int ik=0; for(i=0;a[i]!=‘\0’;i++) if (i!=n) /*将不是指定下标的字符存入数组b中*/ b[k++]=a[i]; b[k]=‘\0’; /*在字符串最后加上结束标记*/ }
void fun {char a[], char b[],int n) { int i,k=0; for(i=0;a[i]!=‘\0’;i++) if (i!=n) /*将不是指定下标的字符存入数组b中*/ b[k++]=a[i]; b[k]=‘\0’; /*在字符串最后加上结束标记*/ } 解析:本题要求删除字符串中指定下标的字符,即相当于把不是指定下标的字符留下。所以要用if(i!=n),注意不能写成“=”运算。

第2题:

请补充main函数,该函数的功能是:从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。结果仍然保存在原串中。 例如,输入“abcdefg”,指定字符为“d”,则输出“abe”。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。 试题程序: include<stdlib.h> include<stdio.h> define M 80 void main { int i=0; char str[M]; char ch; system("CLS"); printf("\n Input a strin9:\n"); gets(str); printf("\n Input a charator;\n"); scanf("%c",&ch); while(str[i]!=\0) { if(str[i]==ch) 【1】 【2】 ; } str[i]=【3】 ; printf("\n***display string***\n"); puts(str); }


正确答案:

【1】break;【2】i++【3】\0
【解析】题目要求删除指定字符后的所有字符,将字符串中的字符从第一个开始与指定字符相比较,直到找到第一个与指定字符相同的字符结束。因此,【1】处填“break;”;【2】处填“i++”;为新的字符串添加结束符,因此,【3】处填“\O”。

第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);


正确答案:D
答案 D
解析:在 scanf 函数中,第 2 个参数应该表示为地址变量,而选项 D 只是一个具体的值,而并不是一个地址值。

第4题:

请补充函数fun(),该函数的功能是;删除字符数组中小于等于指定字符的字符,指定字符从键盘输入,结果仍保存

例如,输入“abcdefghij”,指定字符为‘d’,则结果输出“defghij”。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

试题程序:

include <stdio. h>

define N 80

void fun (char s[], char ch)

{

int i=0, j=0;

while (s [i] )

{

if (s Iii<ch)

【 】;

else

{

【 】

i++;

}

}

【 】

}

main ()

{

char str [N], ch;

clrscr ();

printf("\n Input a string:\n");

gets (str);

printf("\n*** original string ***\n");

puts (str);

printf("\n Input a character:\n");

scanf ("%c", &ch);

fun(str, ch);

printf("\n*** new string ***\n");

puts (str);

}


正确答案:i++ s[j++]=s[i] s[j]='\0'
i++ s[j++]=s[i] s[j]='\0' 解析:第一空:如果当前字符比指定字符小,则什么都不做,通过i++访问下一个字符。第二空,如果当前字符大于等于指定字符,则将它保存在字符数组s中。第三空:通过保存比指定字符大或相等的字符,来实现删除比指定字符小的字符。处理结束后,在字符串s最后要加上结束标记符‘\0’。

第5题:

C语言中,getchar()函数与scanf()函数的区别在于getchar()只能用于字符的输入,而scanf()可以输入任意类型的数据。

此题为判断题(对,错)。


正确答案:√

第6题:

编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为asd asasdfg asd as zx67 asd mklo,子字符串为as,则应当输出6。

注意:部分源程序给出如下。

请勿改动主函数main和具他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

include <conio.h>

include <stdio.h>

include <string.h>

int fun(char *str, char *substr)

{

}

main ( )

{

char str[81],substr[3];

int n;

clrscr ();

printf ("输入主字符串 ");

gets (str);

printf ("输入子字符串");

gets (substr);

puts (str);

puts (substr);

n=fun (shr, substr);

printf("n=%d\n ",n);

}


正确答案:int fun(char *str char *substr) { int i j=0; for(i=0;str[i+1]!='\0';i++) /*如果一个长度为2的子字符串在主字符串中出现一次则j+1 如此 循环*/ if (str [i]==substr [0] &&str [i+1]==substr [1] ) j++; return j; /*返回子字符串在主字符串中出现的次数*/ }
int fun(char *str, char *substr) { int i, j=0; for(i=0;str[i+1]!='\0';i++) /*如果一个长度为2的子字符串在主字符串中出现一次,则j+1, 如此 循环*/ if (str [i]==substr [0] &&str [i+1]==substr [1] ) j++; return j; /*返回子字符串在主字符串中出现的次数*/ } 解析:该题中subsu只有两个字符,所以可以用if语句来直接进行判断。要注意if())中str组的下标为i和i+1,即比较当前字符及其以后的一个字符是否分别与substr中的字符对应相同,若都相同则表示出现了一次。

第7题:

当用户要求输入的字符串中含有空格时,应使用的输入函数是( )。

A.scanf()

B.getchar()

C.gets()

D.getc()


正确答案:C
解析:本题考查的重点是输入函数的异同。scanf()的作用是格式化输入,getchar()的作用是从键盘读字符,等待回车,getc()是从输入流中返同当前文件位置的下一个字符。而要求输入的字符串中含有空格时,应当使用gets(),因此,选项C是正确的。

第8题:

当用户要求输入的字符串中含有空格时,应使用的输入函数是

A)scanf()

B)getchar()

C)gets()

D)getc()


正确答案:C

第9题:

当用户要求输入的字符串中含有空格时,应使用的输入函数是( )。A.scanf B.getchar SXB

当用户要求输入的字符串中含有空格时,应使用的输入函数是( )。

A.scanf

B.getchar

C.gets

D.getc


正确答案:C
gets函数用来从终端键盘读入字符串(包括空格符),直到读入一个换行符为止。

第10题:

输入二个 64 位的十进制数,计算相乘之后的乘积

已知 strcpy 函数的原型是:

char * strcpy(char * strDest,const char * strSrc);

1.不调用库函数,实现strcpy 函数。

2.解释为什么要返回char *。


正确答案:
 

更多相关问题