1·char a[ ]="xyz",b={'x','y','z'},比较a b数组长度的大小关系 2·char a[ ]

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

1·char a[ ]="xyz",b={'x','y','z'},比较a b数组长度的大小关系 2·char a[ ]={'a'}和char b[10]={'a'}区

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

共1条回复
lasbinlala 共回答了17个问题 | 采纳率88.2%
1.char a[ ]="xyz" 大于 b={'x','y','z'}, 因为c或者c++语言规定以字符串形式赋值 后面会默认自动添加一个 结束字符 所以前者是4个字符 而以单个字符赋值则没有
2.char a[ ]={'a'}和char b[10]={'a'}区别 前者是省略数组大小 系统自动根据后面所赋值的多少规定数组的大小 所以前者其实就是定义了一个长度为1的字符数组 并把它赋值为a
后者已经定义数组长度为10 但是赋值却只有一个 所以系统默认把该数组的第一个字符赋值为a 其他的则为 结束字符 主要区别还是在数组的长度 省略数组长度时根据后面赋值的个数确定数组的大小 已经定义过大小的数组则大小自然就是定义好的大小
1年前

相关推荐

char a[7]="abcdef" char b[4]="ABC" strcpy(a,b) printf("%c",a
char a[7]="abcdef" char b[4]="ABC" strcpy(a,b) printf("%c",a[5])答案是f,但是我觉得是/0啊,
bon_voyage_dai1年前1
游荡的灵魂 共回答了15个问题 | 采纳率73.3%
a[0]='A' a[1]='B' a[2]='C' a[3]=' 'a[4]='e' a[5]='f '
b数组只有4个字节,只覆盖了a的前四个字节
1.执行下程序段后 char a[]="abc\\xyz\007\xFF";int n;n=sizeof(a);变量n的
1.执行下程序段后
char a[]="abc\xyz 07xFF";
int n;
n=sizeof(a);
变量n的值是_______.
A.10 B.14 C.9 D.17
4.下列程序的输出结果是_________________.
#include
#define N 4
void main()
{ static int a[N+1][N+1]={1};
int i,j;
for(i=1;i
5500001年前1
duduwolf 共回答了14个问题 | 采纳率85.7%
第一题 答案选A
是这样的 一共有10个字符:分别是 abc 这三个你应该可以明白. 另外\是转义字符,第一个表示这是转义字符,第二个表示的是输出.然后是三个字母xyz.接下来是两个转义字符,用的是十六进制表示法.加上字符串结尾会自动补充一个 表示字符串的结束.加起来一共是10个字符. 这样说可懂?
第二个题 的重点是这一句话 a[i][j]=a[i-1][j-1]+a[i-1][j]; 其实你只要知道杨辉三角,很好理解这个题目的.这个程序的目的就是为了格式化输出部分杨辉三角
若有定义:int x,y;char a,b,c;并有以下输入数据(此处< CR> 代表换行符,/u代表空格):1u2 A
若有定义:int x,y;char a,b,c;并有以下输入数据(此处< CR> 代表换行符,/u代表空格):1u2 AuBuC 则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C 的正确程序段是 (D)
A)scanf("x=%dy+%d",&x,&y);a=getchar();b=getchar();c=getchar();
B)scanf("%d%d",&x,&y);a=getchar();b=getchar();c=getchar();
C)scanf("%d%d%c%c%c,&x,&y,&a,&b,&c);
D)scanf("%d%d%c%c%c%c%c%c:&x,&y,&a,&a,&b,&b,&c,&c);
VGClance1年前1
zaps6e8ev0fb7 共回答了17个问题 | 采纳率100%
A要输入x=1y+2ABC
B要输入12ABC
C与D都是空格,但区别是C中给a赋了A,给b赋了空格,给c赋了B;
只有D才能达到题目要求
#include main(){char a,b; int c; scanf("%c%c%d",&a,&b,&c);pr
#include
main()
{
char a,b;
int c;
scanf("%c%c%d",&a,&b,&c);
printf("%c,%c,%dn",a,b,c);
}
A) 1 2 34 B) 1,2,34
C) ’1’,’2’,34 D) 12 34
为什么输入字符的时候 好像不能空格
阿拉娜拉1年前1
dearwarm 共回答了20个问题 | 采纳率80%
scanf("%c%c%d",&a,&b,&c);
输入的格式应该与scanf的格式一致.%c%c中间没有空格,就不能输入空格,如果有逗号就要输入逗号.
char a[10]={'a','b','c','d','e','f','g','h','i','j'},*p=a,*(
char a[10]={'a','b','c','d','e','f','g','h','i','j'},*p=a,*(p+8)=?
zhoujianmin20031年前1
J_Hoho 共回答了17个问题 | 采纳率100%
#include
void main()
{
char *p;
char a[10]={'a','b','c','d','e','f','g','h','i','j'};
p=a;
printf("%c",*(p+8));
getchar();
}
//输出结果是 :i
以下定义语句正确的是————A,char a='A'b='B'
以下定义语句正确的是————A,char a='A'b='B'
B.float a=b=10.0
C.int a=10,*b=&a
D.float *a,b=&a
剑竹仙1年前1
4873021520 共回答了14个问题 | 采纳率85.7%
我来给你解释下每个答案吧.
A,char a='A'b='B'
这个的正确形式应该是char a='A',b='B',注意,中间有个逗号,这是区别于变量a和b的,a和b不同的两个变量,所以要用逗号隔开
B.float a=b=10.0
这个的正确形式应该是a=10.0,b=10.0,同样要用逗号隔开,愿意同上.
C.int a=10,*b=&a
这个是对的
D.float *a,b=&a
这个和C的区别是在于*a的意思是定义一个指针变量,而指针是指向一个地址的,而不是一个数,所以要给指针变量赋值就要让指针指向那个数的地址,也就是&a,而b就是一个浮点型变量,他就表示一个数,所以要对它赋值只要给一个数就行,不能用地址.
希望我的回答能令你满意
#include #include main() { char a[]="clanguage",t; itn i,j,k
#include #include main() { char a[]="clanguage",t; itn i,j,k;
k=strlen(a); for(i=0;i
walter_wang1年前1
stean 共回答了23个问题 | 采纳率78.3%
两个空应该是 j++ 和 a[i]a[j]
一道C程题目char a[][5]={"ABCD","1234","BOMB"};printf("%s,%c",*a+1
一道C程题目
char a[][5]={"ABCD","1234","BOMB"};
printf("%s,%c",*a+1,*a[2]+1);
输出——————————————
我的答案是BCD,O
正确答案是BCD,C
求指教
望月辰阳1年前1
star880623 共回答了21个问题 | 采纳率100%
答案是对的
我就说后面为什么是C吧
因为 a[2] 本来是一个指针,再加一个* 就是一个字符了
*a[2] 相当于 a[2][0] 为B ,再加1
就是C
31.设有下列变量说明:char a; int x; float y; double z; 则表达式a*x-z+y的值的
31.设有下列变量说明:char a; int x; float y; double z; 则表达式a*x-z+y的值的数据类型为( d ).
31.设有下列变量说明:char a; int x; float y; double z; 则表达式a*x-z+y的值的数据类型为( d ).
A.float   B.char C.int  D.double
选什么 为什么
xhsyl1年前1
linghu51 共回答了13个问题 | 采纳率100%
D,数据类型的隐式转换 char-->int-->float-->double
求解几道C语言题23 有数组定义语句“char a[20];”,则正确的输入语句为( D ).A.scanf("%s",
求解几道C语言题
23 有数组定义语句“char a[20];”,则正确的输入语句为( D ).
A.scanf("%s",&a);B.scanf("%s",a[]);
C.gets(a[20]);D.gets(a);
20.下列对字符数组s的初始化不正确的是( C ).
A.char s[5]="abc";B.char s[5]={'a','b','c','d','e'};
C.char s[5]="abcde";D.char s[]="abcde";
11.对于以下递归函数f( ),调用f(4),其返回值为( A ).
int f(int n)
{ if(n) return f(n-1)+n;
else return n;
}
A.10 B.4 C.0 D.以上均不是
寄陌1年前1
oeqo 共回答了16个问题 | 采纳率93.8%
对于23 理解%s 与gets %s是输出字符串,对应的变量应是数组名,所以应是a 不是&a 或者a[]
gets() 是读取字符串,它的变量也是数组名,所以选D
对于20 其他对的就无所谓了 C是因为超过界限了 在初始化的时候 虽然输入的是abcde 但是系统会在后面加上 所以实际上是6个位置, 但是只开辟了5个位置,所以数组越界了
对于11 终止的值为0,即当n==0时 递归回来 过程为
if 4 return f(3)+4
调用f(3) 即
if 3 return f(2)+3
下面同理直到
if 0 则 if不通过 执行return 0 对应 f(1)=1
则f(2)=f(1)+2
f(3)=f(2)+3
f(4)=f(3)+4
综上 f(4)=10
一个C语文错误#includevoid main(){char a;printf("\n A 添加详细信息");prin
一个C语文错误
#include
void main()
{
char a;
printf("n A 添加详细信息");
printf("n B 修改详细信息");
printf("n C 删除详细信息");
printf("n D 查看详细信息");
printf("n E 退出");
printf("n 请输入相应字母");
scanf("%c",a);
if((a>'a')&&(a
ycxzth1年前2
西部人类 共回答了21个问题 | 采纳率100%
#include
void main()
{
char a;
printf("n A 添加详细信息");
printf("n B 修改详细信息");
printf("n C 删除详细信息");
printf("n D 查看详细信息");
printf("n E 退出");
printf("n 请输入相应字母");
scanf("%c",&a);
if((a>='a')&&(a
声明语句“char a='%',*b=&a,**c=%b",下列表达式错误的是 A.b==*c B.a==**c c,*
声明语句“char a='%',*b=&a,**c=%b",下列表达式错误的是 A.b==*c B.a==**c c,**c='%' D.&a=*&b
尤其是A,B我觉得一样啊!
chenxiaohui71年前1
猪头TI 共回答了18个问题 | 采纳率77.8%
1题目有错,先改正.
声明语句“char a='%',*b=&a,**c=&b;",下列表达式错误的是
A.b==*c
B.a==**c
C,**c='%'
D.&a=*&b
2 分析:
A.b==*c //正确.==左边右边类型一致,可以比较.
B.a==**c //正确.==左边右边类型一致,可以比较.
C,**c='%' //正确.=左边右边类型一致,可以赋值.
D.&a=*&b //不正确.&a是常量,不能当成左值使用.
C++试题:下面的变量说明中__________是正确的A.char:a,b,c; B.char a; b; c; C.
C++试题:下面的变量说明中__________是正确的A.char:a,b,c; B.char a; b; c; C.char a,
下面的变量说明中__________是正确的
A.char:a,b,c; B.char a; b; c; C.char a,b,c; D.char a,b,c
趣精通幽1年前1
mermaid1103 共回答了14个问题 | 采纳率92.9%
c正确,是不是正在考试啊
char a[]={a,b,c,d}; char a[]="a,b,c,d"; 有区别吗
张雨轩辽宁1年前1
ll孤鸿000 共回答了27个问题 | 采纳率100%
很大区别,前者a的大小为4,分别是'a','b','c','d'
后者估计你写错了吧,应该是 char a[] = "abcd"; // 这里a的大小为5个字节,除了前面4个字母外,还有一个字符串结束符 '
设有变量说明:char a[6],*p=a;下面表达中,正确的赋值语句是
设有变量说明:char a[6],*p=a;下面表达中,正确的赋值语句是
A.*p="Hello"
B.a="Hello";
C.p="Hello";
D.a[6]= "Hello";
hilonwang1年前1
vhjlklkjbjhvb 共回答了17个问题 | 采纳率94.1%
C C表示指针指向字符串"Hello",B项中a表示字符串首字符地址,故不对,所以A也不对
如用a[6]表示可以写成 a[6]= {"Hello"};D错.
#include sub1(char a,char b) {char c;c=a;a=b;b=c;} sub2(char
#include sub1(char a,char b) {char c;c=a;a=b;b=c;} sub2(char *a,char b) {char c;c=*a;*a=b;
xwt0271年前1
taotao83tly 共回答了16个问题 | 采纳率75%
你要问的是这个吧...我也在做这个
# include "stdio.h"
void sub1(char a,char b)
{ char c; c=a; a=b; b=c; }
void sub2(char *a,char b)
{ char c; c=*a; *a=b; b=c; }
void sub3(char *a,char *b)
{ char c; c=*a; *a=*b; *b=c; }
void main()
{ char a,b; a='A'; b='B';
sub3(&a,&b); putchar(a); putchar(b);
sub2(&a,b); putchar(a); putchar(b);
sub1(a,b); putchar(a); putchar(b);
}
答案是BAAAAA
sub3(&a,&b);a,b交换值,得a = 'B',b = 'A';
sub2(&a,b);b的值再赋给a,得a = 'A',b作为形参,值不变,b = 'A'
sub1(a,b);a,b都为形参,a,b的值都不变,a= 'A',b = 'A'.
main() {char a[8]={1,2,3,4,5,6,7,8}; short *p=(short*)(&a+1)
main() {char a[8]={1,2,3,4,5,6,7,8}; short *p=(short*)(&a+1); cout
_狠狠爱1年前1
dosgaa 共回答了25个问题 | 采纳率92%
char a[8]={1,2,3,4,5,6,7,8};
short *p=(short*)(&a+1); //&a+1的含义是在a的地址上偏移1个a的长度,也就是8个char的长度,就是&a[8],然后把这个已经越界的地址强制转换成一个short*赋值给p(对一个数组名取地址按道理说是非法的,早期的c编译器是不允许这么做的,但是现在的编译器把这样的操作定义为值与该数组首地址相同,但类型是一个指向数组的地址,就是说&a相当于一个二维数组的地址了)
cout
急.char a[12]={'a','b','c','d','e','f','g',}; strlen (a)的结果为多
急.char a[12]={'a','b','c','d','e','f','g',}; strlen (a)的结果为多少?
月亮之美1年前1
zhaowenbo 共回答了15个问题 | 采纳率93.3%
答案是:7
strlen(a)函数的功能是返回a的长度,不包括结束符NULL. (这是百度百科那里的解释)
实际用VC++运行了答案是7 sizeof(a)=12;
如果是楼下那种情况:
char a[] = {'a', 'b', 'c', 'd', 'e', 'f','g' };
strlen(a)是不确定的,此时字符'g'后面不存在' ',所以sizeof(a)=7
如果手动在'g'后面添加' ',变成
char a[] = {'a', 'b', 'c', 'd', 'e', 'f','g',' ' };
此时strlen(a)是确定的,值为7,而sizeof(a)=8
char a[]="ABCDEF"; char a[]="{'A','B','C','D','E','F'}; a和b数
char a[]="ABCDEF"; char a[]="{'A','B','C','D','E','F'}; a和b数组长度比较
小雨741131年前1
紫丁香1981 共回答了31个问题 | 采纳率93.5%
前者为7个字符,A B C D E F 空字符
后者为6个字符:A B C D E F
已知:char a[20]= "abc",b[20]= "defghi";则执行下列语句后printf("%d",str
已知:char a[20]= "abc",b[20]= "defghi";则执行下列语句后printf("%d",strlen(strcpy(a,b)));
输出结果为()A)11 B)6 C)5 D)以上答案都不正确
ljming_91年前1
雪尔rachel 共回答了12个问题 | 采纳率83.3%
B
strcpy(a,b)执行后将以b打头的字符串拷贝到a打头的地址中,所以a字符串被覆盖成"defghi"
所以strlen(strcpy(a,b))统计的就是"defghi"的长度,也就是6
C语言的一道题,求答案及解释?38、(设有char a[5],*p=a;)下面的选项中正确的赋值语句是(  )。A)p=
C语言的一道题,求答案及解释?
38、(设有char a[5],*p=a;)下面的选项中正确的赋值语句是(  )。
A)p=p+2; B)a=a+2;
C)*p=“abcd”; D)*a=“abcd”;
juneway1年前1
皓庭霄度天龙 共回答了20个问题 | 采纳率90%
A)p=p+2;
意思是将a[2]的地址赋给p:p=&a[2];
B)a是个指针常量不能赋值
C)如果将*p的星号去掉就是正确的
D)a是个数组名是一个不能改变的左值
已知有声明"char a[]="It is mine",*p="It is mine";",下列叙述中错误的是28 .
已知有声明"char a[]="It is mine",*p="It is mine";",下列叙述中错误的是28 .
A.strcpy(a,"yes")和strcpy(p,"yes")都是正确的 B.a="yes"和p="yes"都是正确的
C.*a等于*p D.sizeof(a)不等于sizeof(p)
请给出理由谢谢
jxp1671年前1
acc888ss 共回答了21个问题 | 采纳率95.2%
错误的是B
a = "yes";不对.a是数组名,p是字符型指针,这样赋值可以.
sizeof(a) = 字符的个数
sizeof(p) = 4
*a = I
*p = I
一道简单的面试题.急.C语言7:若定义了 union{ char a〔10〕;short b〔4〕〔5〕;long c〔
一道简单的面试题.急.C语言
7:若定义了
union
{ char a〔10〕;
short b〔4〕〔5〕;
long c〔5〕;
}u;
则执行printf〃%dn〃,sizeofu;语句的输出结果是
A.10
B.20
C.40
D.70
请问答案是什么,
希望能说具体一点.小弟我初学 ,请问为什么是C
eninn1年前1
雅致琴语 共回答了16个问题 | 采纳率87.5%
40 选B
联合体成员共享内存,其字节长等于其成员占用字长最大者
union
{
char a[10]; //占用1*10字节
short b[4][5]; //占用2*(4*5)字节
long c[5]; //占用4*5字节
}u;
设char a[10],*p=a;,以下不正确的表达式是 .
设char a[10],*p=a;,以下不正确的表达式是 .
A.a[4]=p[2];
B.*p=a[0];
C.p=a+5;
D.a=p+a;
α干扰素1年前1
yeah818 共回答了19个问题 | 采纳率89.5%
答案:D
24.若已定义:char a=’A’;int b=5;下列表达式错误的是() A.a==b B.a
24.若已定义:char a=’A’;int b=5;下列表达式错误的是() A.a==b B.a
24.若已定义:char a=’A’;int b=5;下列表达式错误的是()
A.a==b
B.a==A
C.a=a-b
D.a++
yangfangping1年前1
ljrsh1223 共回答了22个问题 | 采纳率95.5%
B是错误的,因为没有A变量 'A'与A是不同的
C语言:设有说明语句:char a='\72';则变量a()
C语言:设有说明语句:char a='72';则变量a()
A) 包含1个字符
B)包含2个字符
C)包含3个字符
D)说明不合法
答案是A选项,可是我怎么觉得应该是不合法的呢?‘’不是表示字符型变量只能存放单个字符吗?
lorrylou1年前1
zhoufan62 共回答了23个问题 | 采纳率91.3%
72表示的是一个字符哦
是转义符号,这里的72是八进制的,换成十进制为58
如果是92那就是错误的,因为9已经超过8进制的取值范围.
1. 一般转义字符
这种转义字符,虽然在形式上由两个字符组成,但只代表一个字符.常用的一般转义字符为:
a n t v b r f \ ’ ”
你可能已经发现,转义字符'\'代表的反斜杠""、转义字符’’’代表的字符"'"和转义字符'”'代表的字符"”",其本身就是可显示字符,为什么还要对它转义呢?
这是因为它们的原有的字符形式已作它用,其中,单引号用作区分字符常量的括号,双引号用作区分字符串(下面将要介绍字符串)的括号,而反斜杠本身已用来表示转义字符的开头,因此必须对它们用转义字符重新声明.
2. 八进制转义字符
它是由反斜杠''和随后的1~3个八进制数字构成的字符序列.例如,'60'、'101'、'141'分别表示字符'0'、'A'和'a'.因为字符'0'、'A'和'a'的ASCII码的八进制值分别为60、101和141.
字符集中的所有字符都可以用八进制转义字符表示.
如果你愿意,可以在八进制数字前面加上一个0来表示八进制转义字符.
3. 十六进制转义字符
它是由反斜杠''和字母x(或X)及随后的1~2个十六进制数字构成的字符序列.例如,'x30'、'x41'、'X61'分别表示字符'0'、'A'和'a'.因为字符'0'、'A'和'a'的ASCII码的十六进制值分别为0x30、0x41和0x61.
可见,字符集中的所有字符都可以用十六进制转义字符表示
10.有字符数组定义char a[]="abc\n\n",则数组a中有(A)个元素.A.5 B.7 C.6 D.8
SZsophie1年前1
秋天里的芦苇 共回答了21个问题 | 采纳率95.2%
6个 后面有结束符 也算一个
请解释一下C语句"char a[10],p;p=a=“china”"的含义.
请解释一下C语句"char a[10],p;p=a=“china”"的含义.
下列说明不正确的是:
(A)char a[10]=“china” (B)char a[10],p=a;p=“china” (C)char p;p=“china”(D)char a[10],p;p=a=“china”;
萌芽初发1年前1
onebooks 共回答了20个问题 | 采纳率85%
char a[10], *p;
p = a = "china";
是错的赋值!~
原因:
char *p;
p = "china";
这里的p是在静态区分配的内存,也就是说p是指向字符常量的指针.
而在p = a = "china";中,"="运算符是从右向左结合的,所以是将"china"的首地址赋值给a,而a是char型数组的首地址,这是把字符常量的地址赋值给字符变量,所以错误!~
c语言问题,12年3月真题有以下函数#include main(){ char a[20],b[20],c[20];sc
c语言问题,12年3月真题
有以下函数
#include
main()
{ char a[20],b[20],c[20];
scanf(”%s%s”,a,b);
gets(c);
printf(”%s%sn”,a,b,c);
}
程序运行时从第一行开始输入 this is a cat!,则输出结果是
A thisisacat!B this is a C thisis a cat!D thisisa cat!
我认为 ,当遇到第一个空格,算是把This给了a,遇到第二个空格算是把is给了b,最后把a cat!给了c,输出应该是thisisa cat!请问为什么输出时以ab c的形式输出,求详解
33336631年前1
ymh8899 共回答了23个问题 | 采纳率87%
scanf函数有个特性,当读取多个数据时,由%组成的控制符之间可以留置空格,也可以不留置空格,作用都一样:允许用空格分隔数据.比如,scanf(”%s%s”,a,b);和scanf(”%s %s”,a,b);效果一样;输入时可以输入一个字符串回一次车,也可以一次输入中间用空格隔开的两个字符串.实际上scanf在遇到空格时认为前面的输入有效并结束,而如果紧接着还是scanf语句,那就读取这个空格但不赋给任何变量,接着读取后面的输入数据;如果跟着的是别的输入语句,那就要看这别的输入语句有什么特性,按这别的输入语句的特性处理这个空格.在你这里输入this is a cat!后,this赋给了a,空格留在缓冲区,接着还是scanf接收第二个数据is,就先读取上次留下的空格,但不赋给任何变量,接着读is并赋给b;后面不再是scanf了,那么is后的空格就一直留在缓冲区.后面是用get读取,它是接收空格的……所以刚好所得结果是C项.(题中最后的printf(”%s%sn”,a,b,c);少了个%s)
声明语句“char a='%',*b=&a,**c=%b",下列表达式错误的是 A.b==*c B.a==**c c,*
声明语句“char a='%',*b=&a,**c=%b",下列表达式错误的是 A.b==*c B.a==**c c,**c='%' D.&a=*&b
尤其是A,B我觉得一样啊!
天使今天没空1年前1
黔山秀水 共回答了33个问题 | 采纳率93.9%
char a='%',*b=&a,**c=%b
是不是写错了,应该是:
char a='%',*b=&a,**c=&b
一个一个来吧
A.b==*c
c是二维指针,由于声明时**c=&b,
所以,**c是指向指针b所指向地址中存放的内容,也就是a,同样也就是'%'
所以,*c指向的就是b这个指针变量自身的地址,也就是&b,
所以,*c=&b
A是错误的
B.a==**c
c是二维指针,由于声明时**c=&b,
所以,**c是指向指针b所指向地址中存放的内容,也就是a,同样也就是'%'
B是对的
C.**c='%'
c是二维指针,由于声明时**c=&b,
所以,**c是指向指针b所指向地址中存放的内容,也就是a,同样也就是'%'
C是对的
D.&a=*&b
b是一维指针,由于声明时*b=&a,
所以,指针b所指向的是a的地址,也就是&a,
*&b其实等价于b,
D是对的
下面的变量声明中哪个是正确的.A.char:a,b,c; B.char a; b; c; C.char a,b,c; D
下面的变量声明中哪个是正确的.A.char:a,b,c; B.char a; b; c; C.char a,b,c; D.char a,b,c
qichunhcy1年前1
狶舙 共回答了13个问题 | 采纳率92.3%
C
执行语句“char a[10] ={"abcd"},*p=a;”后,*(p+4)的值是( )
执行语句“char a[10] ={"abcd"},*p=a;”后,*(p+4)的值是( )
A."abcd" B.'d' C.' ' D.不能确定
IyaIya1年前1
爱藕秸 共回答了23个问题 | 采纳率95.7%
C
*p=a 说明p指在字符a所在的地址,*(p+4)就指向了d后面那个字符
而c语言字符风格是 字符串最后自动附加一个'
执行以下程序段的输出结果是________.char a[5]= "123",b[7]= "ABCDEF"; strcp
执行以下程序段的输出结果是________.char a[5]= "123",b[7]= "ABCDEF"; strcpy(b,a);puts(b);
天之狼1年前1
尘世上行走 共回答了20个问题 | 采纳率80%
123
char a='0',b=0;变量a,b的值相等吗?
想哭确哭不出1年前1
你注册的ID已存在 共回答了19个问题 | 采纳率89.5%
不等、、a=‘0’=48
设有变量定义语句char a; 则下面的赋值语句中 ( ) 是正确的.A.a=’&’ B.a=”&” C.a=’16’
设有变量定义语句char a; 则下面的赋值语句中 ( ) 是正确的.A.a=’&’ B.a=”&” C.a=’16’ D.a=’ ’
设有变量定义语句char a; 则下面的赋值语句中 ( ) 是正确的.
A.a=’&’
B.a=”&”
C.a=’16’
D.a=’ ’ ’
为什么选A
风露1清愁1年前1
沙漠_孤狼 共回答了13个问题 | 采纳率84.6%
B选项中的"&"是一个字符串,不是字符,因为它是用双引号括的.
C选项中的单引号之间包含了多个字符,是个多字节字符,严格意义上不算错,它会将低字节字符赋予变量a.
D选项中在要把单引号字符赋予a,而单引号同时也是一个操作符号,因此要用转义字符,即加上斜线,写成a='''
A选项是标准形式.
以下程序段的输出结果是_____.(注:ㄩ表示空格) char a[7]="abcdef";char b[4]=
以下程序段的输出结果是_____.(注:ㄩ表示空格) char a[7]="abcdef";char b[4]=
以下程序段的输出结果是_____.(注:ㄩ表示空格)
char a[7]=“abcdef”;char b[4]=“ABC”;
strcpy(a,b);
printf(“%c”,a[4]);
糖果蓝蓝1年前1
陈家驹1986 共回答了16个问题 | 采纳率62.5%
答案是字符e,
strcpy(a,b); 意思是将字符串b拷贝到字符串a中,b的总共长度才4(字符串结尾都会有一个结束字符’ ‘),所以拷贝替换的只是a的前4个字符,第五个字符以后的字符并没有变.
printf(“%c”,a[4]);是输出字符串a中的第五个字符,由于第五个字符没有被替换,还是原来的字符e
9.已有定义:char a[]="xyz",b[]={'x','y','z'}; ,以下叙述中正确的是 A) 数组a和b
9.已有定义:char a[]="xyz",b[]={'x','y','z'}; ,以下叙述中正确的是 A) 数组a和b的长度相同 B) a数组
4114121631年前1
xuxiongwei608 共回答了17个问题 | 采纳率94.1%
数组a和b的长度不同
#include #include main() { char a[]="clanguage",t; itn i,j,k
#include #include main() { char a[]="clanguage",t; itn i,j,k;
k=strlen(a); for(i=0;i
flowaters1年前1
yanfei1428 共回答了19个问题 | 采纳率94.7%
a
有以下程序 main() { char a[ ]={'a','b','c','d','e','f','g','h','\
有以下程序 main() { char a[ ]={'a','b','c','d','e','f','g','h',' '};int i;j; i=sizeof(a); j=strlen
main()
{ char a[ ]={'a','b','c','d','e','f','g','h',' '};int i;j;
i=sizeof(a); j=strlen(a);
printf("%d,%dn",ij);
}
a9,9 b8,9 c1,8 d9,8
巴赫古斯1年前1
EmmaET 共回答了14个问题 | 采纳率92.9%
//答案是:d 9,8
//但程序有错误,正确有是:
#include
#include
void main()
{ char a[ ]={'a','b','c','d','e','f','g','h',' '};int i,j;
i=sizeof(a); j=strlen(a);
printf("%d,%dn",i,j);
}
C++白痴问题 求仔细解释(1) 编译时会出错的是? A. char a='aa'; B. char a='\x2d'(
C++白痴问题 求仔细解释
(1) 编译时会出错的是? A. char a='aa'; B. char a='x2d'
(2)s是字符型变量,下列赋值不正确的是? A. s=' 12'; B. s='u+v'; C. s=1+2
3241486711年前1
kevin200827 共回答了17个问题 | 采纳率70.6%
(1) 选A,char只能赋值一个字符,'aa'不是一个字符,'x2d' 是一个ASCII为0x2d的字符
(2) 选B,同样 'u+v' 不是一个字符,' 12' 是一个ASCII为12(八进制)的字符,1+2是一个ASCII码,赋值给s是对的