char ch=‘ABCD’为什么不对

4608054342022-10-04 11:39:541条回答

已提交,审核后显示!提交回复

共1条回复
lhk198099 共回答了13个问题 | 采纳率84.6%
char ch 只能容纳1个字符。
单引号括起的叫字符常量,只能容纳1字节。
'A' ,'B','C','D',' ' 是合法字符常量。'ABCD' 不是合法字符常量。

char ch='D'; // 正确,字符常量
char ch[]="ABCD"; //正确, 字符数组,字符串。
char ch[5]="ABCD"; //正确, 字符数组,字符串。
char ch[4]={'A','B','C','D'} ; //正确, 字符数组,4个字符常量
1年前

相关推荐

设函数func的定义形式为:void func(char ch,float x){……} 则以下对函数func的调用语句
设函数func的定义形式为:void func(char ch,float x){……} 则以下对函数func的调用语句中,正确的是
A.func("abc",3.0)
B.t=func('A',10.5)
C.func('65',10.5)
D.func(65,65)
harryhe1年前1
yk_yyy 共回答了12个问题 | 采纳率91.7%
C
A 字符串;
B 无返回值的函数不能赋值;
C OK;
D 第一项不行,这可是个整形数啊!
求高手解答C语言问题!有追加!#include main(){ int i, j; char ch, *p1, *p2,
求高手解答C语言问题!有追加!
#include
main()
{
int i, j;
char ch, *p1, *p2, *s[4]={"four","hello","peak","apple"};
for(i = 0; i < 4; i++){
p1 = p2 = s[i];
ch = *(p1 + i);
while(*p1 != ' '){
if(*p1 != ch){
*p2 = *p1;
p2++;
}
p1++;
}
*p2 = ' ';
}
for(i = 0; i < 4; i++)
printf("%sn", s[i]);
}
【问题】
(21) 程序运行时,第1行输出 (21) .
A、our B、four C、fur D、fou
(22) 程序运行时,第2行输出 (22) .
A、ello B、hllo C、heo D、hell
(23) 程序运行时,第3行输出 (23) .
A、peak B、eak C、pek D、pak
(24) 程序运行时,第4行输出 (24) .
A、pple B、apple C、ale D、appe
答案是ABCD
kmlg991年前1
chen0406409 共回答了15个问题 | 采纳率100%
第一题:第一个for循环中第一次循环将指针数组s中的第一个指针变量s[0]赋值给指针变量p1,p2,使得指针变量p1,p2都指向字符串"four"的首地址,接着将p1所指向的字符数组中的第一个元素f赋值给字符变量ch,while循环将"four"中的元素依次与ch比较,如果相等则指针p1值加下,指向数组的下一个元素,否则将值保留在p2中,因为while循环中第一次比较ch和*p1的值是相等的均为f,所以不不保留在p2中,直接输出our
第二题:与第一题原理一样,ch变为第二个字符数组的第二个元素的值,然后将数组依次和它比较,如果相等则直接跳过,输出hllo
第三题、第四题同理~我想就不用多说了吧~依次是pek和appe
关于c 的计算题目main(){char ch[2][5]={"6937","8254"},*p[2]int i,j,s
关于c 的计算题目
main()
{char ch[2][5]={"6937","8254"},*p[2]
int i,j,s=0;
for (i=0;i
大漠豪客1年前1
马鼎盛的粉丝 共回答了19个问题 | 采纳率84.2%
p[0]指向ch[0] p[1]指向ch[1]
因为是j+=2,每次跳过一个字符
因此是取到6 3 8 5四个字符
计算时,先加上本身的10倍,故而最后就是6385
C语言选择题如果定义了 char ch[10]=”abcdef”, *p=ch, 则下列选项中正
C语言选择题

如果定义了 char ch[10]=”abcdef”, *p=ch, 则下列选项中正确的操作是 。

  • A.

    printf(“%c”, p);

  • B.

    printf(“%s”, *p);

  • C.

    printf(“%c”, *p);

  • D.

    printf(“%s”,&p);


为了和平1年前1
429572988 共回答了15个问题 | 采纳率100%
因为p是指向字符串的指针,%s是输出字符串,%c是输出一个字符
所以正确答案选C,*p表示首地址的值,即'a'
AB中printf ("%s", p)则正确
设有如下定义:char ch='z',则执行下面语句后变量ch是值为:( ).ch=('A'
xiaxun19801年前1
许溪 共回答了20个问题 | 采纳率95%
选择a 'z'不在'A'
设char ch,str[4],*strp;,则下列赋值语句正确的是( ).A)ch="CBA"; B)str="CBA
设char ch,str[4],*strp;,则下列赋值语句正确的是( ).A)ch="CBA"; B)str="CBA"; C)strp="CBA"; D)*strp="CBA";
毓躔1年前1
笑傲江湖_9 共回答了16个问题 | 采纳率93.8%
A ch是一个字符,不能赋值字符串 D的原因也是这样
B 数组不能整体赋值.
C是正确的.
C
void main(){char ch[30]="nice to meet you!';strcpy(a+strlen(
void main(){char ch[30]="nice to meet you!';strcpy(a+strlen(a)/2,"you");printf("%sn",a);}
zvndiue71年前1
babyanger 共回答了20个问题 | 采纳率100%
#include
#include //要加头文件
void main()
{char a[30]="nice to meet you!";//双引号
strcpy(a+strlen(a)/2,"you");
printf("%sn",a);}
书上的代码看不懂#includemain(){ char ch;int a,b;do{printf("\n exerci
书上的代码看不懂
#includemain(){ char ch;int a,b;do{printf("n exercise for primary student");printf("n 1.add");printf("n 2.subtraction");printf("n 3.multiplicative");printf("n 4.divide");printf("n 5.exit");printf("n please choice(1~5)and input numbers");scanf("%d%d",&a,&b);ch=getchar();getchar();switch(ch){case '1':printf("n add sum is %d",a+b); break;case '2':printf("n subtraction",a-b); break;case '3':printf("n multiplicative",a*b); break;case '4':printf("n divide",a/b); break;case '5':printf("n end."); break;default:printf("n error.choice again."); break;}}while(ch!='5');}
其中
scanf("%d%d",&a,&b);ch=getchar();getchar();
还有程序好像不成功
atjs1年前1
大-树 共回答了28个问题 | 采纳率92.9%
scanf("%d%d",&a,&b);
的意思是从键盘读入两个整数,第一个给a,第二个给b
ch=getchar();
的意思是从键盘读入一个字符给ch
getchar();
的意思是从键盘读入任意一个字符(可以理解为等待用户在键盘敲一个键,然后从能继续运行)
#includevoid get_num(float a,float b);int main(void){char ch
#include
void get_num(float a,float b);
int main(void)
{
char ch;
float m,n,s;
printf("Enter the operatioa of your choice:n");
printf("a.add b.subtractn"
"c.multiply d.dividen"
"q.quitn");
scanf("%c",&ch);
while(ch!='q')
{
switch(ch)
{
case 'a':
get_num(m,n);
s=m+n;
printf("%f+%f=%fn",m,n,s);
break;
case'b':
get_num(m,n);
s=m-n;
printf("%f-%f=%fn",m,n,s);
break;
case'c':
get_num(m,n);
s=m*n;
printf("%f*%f=%fn",m,n,s);
break;
case'd':
get_num(m,n);
s=m/n;
printf("%f/%f=%fn",m,n,s);
break;
default:
printf("Input error!n");
break;
}
}
printf("Bye.n");
return 0;
}
void get_num(float a,float b)
{
printf("Enter first number:");
scanf("%f",&a);
printf("nEnter second number:");
scanf("%f",&b);
if(a=0)
{
printf("Enter a number other than 0:");
scanf("%f",&a);
}
if(b=0)
{
printf("Enter a number other than 0:");
scanf("%f",&b);
}
if(scanf("%f",&a)!=1)
{
printf("%c is not an number.n",a);
printf("Please enter a number,such as 10 ,22,2.9:");
scanf("%f",&a);
}
if(scanf("%f",&b)!=1)
{
printf("%c is not an number.n",b);
printf("Please enter a number,such as 10 ,22,2.9:");
scanf("%f",&b);
}
}
输入第三个后开始就不行了.请问哪错了谢谢
额.回答时.如果能运行一下看看结果就更好了.能够讲的白点.
8410218410211年前1
飞越一郎 共回答了22个问题 | 采纳率86.4%
是用C进行,四则运算吧:
这里给你两个源码:
第一段程序:是我自己写的
第二段是完善了你的程序:
////////////////////第一段//////////////////////////
#include "stdio.h"
main()
{
float a,b;
int op;
while(1)
{
printf("Input a:");
scanf("%f",&a); //输入a
printf("Input b:");
scanf("%f",&b); //输入b
//-----输出提示信息----------
printf("Select Operator:n");
printf("+ Input 1n");
printf("- Input 2n");
printf("* Input 3n");
printf("\ Input 4n");
printf("Please Select:");
//-----输入操作符------------
scanf("%d",&op);
//-----对操作符进行判断------
switch(op)
{
case 1:// +
printf("a+b=%fn",a+b);
break;
case 2:// -
printf("a-b=%fn",a-b);
break;
case 3:// 乘
printf("a*b=%fn",a*b);
break;
case 4:// 除
printf("a//b=%fn",a/b);
break;
}
printf("n");//再换一个行,以便下次输入
}
}
/////////////////第二段,完善你的程序/////////////////////
#include
#include
void get_num(float *a,float *b);
int main(void)
{
char ch;
float m,n,s;
while(ch!='q')
{
printf("Enter the operatioa of your choice:n");
printf("-----------------------n");
printf("a.add b.subtractn");
printf("c.multiply d.dividen");
printf("q.quitn");
printf("-----------------------n");
printf("Please Select:");
scanf("%c",&ch);
switch(ch)
{
case 'a':
get_num(&m,&n);
s=m+n;
printf("%f+%f=%fn",m,n,s);
break;
case'b':
get_num(&m,&n);
s=m-n;
printf("%f-%f=%fn",m,n,s);
break;
case'c':
get_num(&m,&n);
s=m*n;
printf("%f*%f=%fn",m,n,s);
break;
case'd':
get_num(&m,&n);
s=m/n;
printf("%f/%f=%fn",m,n,s);
break;
case 'q':
system("cls");
printf("Bye.n");
return 0;
default:
printf("Input error!n");
break;
}
system("pause");//暂停,以便看得数
system("cls"); //清屏
getchar();
}
return 0;
}
void get_num(float *a,float *b)
{
printf("Enter first number:");
scanf("%f",a);
printf("nEnter second number:");
scanf("%f",b);
if(*a==0)
{
printf("Enter a number other than 0:");
scanf("%f",a);
}
if(*b==0)
{
printf("Enter a number other than 0:");
scanf("%f",b);
}
}
c++的一道题83.设函数fun的定义形式为void fun(char ch,float x) {……}则以下对函数fu
c++的一道题
83.
设函数fun的定义形式为
void fun(char ch,float x) {……}
则以下对函数fun的调用语句中,正确的是______。
A、fun("abc",3.0); B、t=fun('D',16.5);
C、fun ('65',2.8); D、fun(32,32);
答案:D
为什么呢
tiantiandoukan1年前1
小张1318 共回答了21个问题 | 采纳率85.7%
1 第一个参数是char或者可以转成char,
2 第二个参数是float或者可以转成float,
3 没有返回值。
A不满足1
B不满足3
C的第一个参数语法就是错的
假设有定义char ch:随机产生一个数字字符(‘0’~‘9’)存放在ch中的语句为ch=
chencoshow1年前1
mercurying 共回答了18个问题 | 采纳率100%
char ch = (rand() % 10) + '0';