程序段 char a[7]="abcdef";char b[4]="ABC";strcpy(a,b);printf("%...
发布网友
发布时间:2024-08-07 03:53
我来回答
共5个回答
热心网友
时间:2024-08-30 21:29
是f,这个函数是把数组b中的元素拷贝到a数组中,由于遇到结束字符就结束了,a所以数组中的前三个字母被b数组代替了,但是后面三个不会变,在这有可能误认为输出是e,是因为忽略了a数组下表是从0开始的,所以a[5]是指第六个数,也就是f
热心网友
时间:2024-08-30 21:33
我觉得会报数组越界了,因为b【4】的最后一位为‘\0’,strcpy(x,y)貌似y会覆盖x的。
热心网友
时间:2024-08-30 21:31
strcpy是“字符串复制函数”,是将字符串b和其后的'\0'一起复制到字符串a中,并取代了字符数组a中前面的
5个
(因为定义的是b[4]哈)字符,而后面的字符仍然是a中原有的字符;所以,最后的结果打印出的应该是:f
热心网友
时间:2024-08-30 21:34
strcpy(a,b),把b字符串赋值给a,所以完成此运算后a="ABC"
输出结果为:ABC
热心网友
时间:2024-08-30 21:30
strcpy(x,y)会把x中的数据覆盖掉,使用这个函数时最好保证y的长度在x的长度范围中,要不可能会出错!
如果你不想把x中的数据覆盖掉,你可以使用srtcat()函数
热心网友
时间:2024-08-30 21:28
是f,这个函数是把数组b中的元素拷贝到a数组中,由于遇到结束字符就结束了,a所以数组中的前三个字母被b数组代替了,但是后面三个不会变,在这有可能误认为输出是e,是因为忽略了a数组下表是从0开始的,所以a[5]是指第六个数,也就是f
热心网友
时间:2024-08-30 21:35
strcpy(x,y)会把x中的数据覆盖掉,使用这个函数时最好保证y的长度在x的长度范围中,要不可能会出错!
如果你不想把x中的数据覆盖掉,你可以使用srtcat()函数
热心网友
时间:2024-08-30 21:30
strcpy是“字符串复制函数”,是将字符串b和其后的'\0'一起复制到字符串a中,并取代了字符数组a中前面的
5个
(因为定义的是b[4]哈)字符,而后面的字符仍然是a中原有的字符;所以,最后的结果打印出的应该是:f
热心网友
时间:2024-08-30 21:33
我觉得会报数组越界了,因为b【4】的最后一位为‘\0’,strcpy(x,y)貌似y会覆盖x的。
热心网友
时间:2024-08-30 21:35
strcpy(a,b),把b字符串赋值给a,所以完成此运算后a="ABC"
输出结果为:ABC
下面程序的运行结果是()
void main(){char a[7]="abcdef";char b[4]="ABC";strcpy(a,b); //将b[4]既字符串“ABC_”其中_是空格的意思,将a[7]的前4位用字符串b覆盖 printf("%c\n",a[5]); //其中字符串a[7]变成了“ABC_ef_”所以a[5]就为 f } ...
...abcdef";char b[4]="ABC";strcpy(a,b);printf("%c",a[5]);_百 ...
是f,这个函数是把数组b中的元素拷贝到a数组中,由于遇到结束字符就结束了,a所以数组中的前三个字母被b数组代替了,但是后面三个不会变,在这有可能误认为输出是e,是因为忽略了a数组下表是从0开始的,所以a[5]是指第六个数,也就是f ...
char a[7]= “abcdef”, b[4]= “ABC”; strcpy(a,b)
若有以下定义和语句: char a[7]= “abcdef”, b[4]= “ABC”; strcpy(a,b); 则a[5]的值是'f'。因为执行strcpy(a,b);时,a数组中被覆盖的元素有4个,即'A','B','C','\0',所以,a[4]仍是'e',a[5]仍是'f'。但是,输出printf("%s",a);的值,是ABC 除非,输出printf...
...a[7]= “abcdef”, b[4]= “ABC”; strcpy(a,b); 则a[5]的值是...
若有以下定义和语句: char a[7]= “abcdef”, b[4]= “ABC”; strcpy(a,b); 则a[5]的值是'f'。因为执行strcpy(a,b);时,a数组中被覆盖的元素有4个,zhuan即'A','B','C','\0',所以,a[4]仍是'e',a[5]仍是'f'。但是,输出printf("%s",a);的值,是ABC 除非,输出p...
...是___.(注:ㄩ表示空格) char a[7]="abcdef";char b[4]=
答案是字符e,strcpy(a,b); 意思是将字符串b拷贝到字符串a中,b的总共长度才4(字符串结尾都会有一个结束字符’\0‘),所以拷贝替换的只是a的前4个字符,第五个字符以后的字符并没有变。printf(“%c”,a[4]);是输出字符串a中的第五个字符,由于第五个字符没有被替换,还是原来的字符e ...
...char a[] = “ABCDEF”; char b[] = {‘A’,‘B’,‘C’,‘D...
答案是D,a数组比b数组长度长 原因:a数组的长度是6,b数组的长度是7。在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。字符串总是以'\0'作为串的结束符。
...xyz";strcpy( str , strcat( a, b ) ); printf( "%s", str );输出...
输出为:abcdABCD
...Box",b[ ]="Boss";语句printf("%d",strcmp(a,b));的输出结果是5...
'x'-'s'==5 strcmp就是比较第一个不同的字符的ascii码的差
...char a[3],b[ ]="china";a=b;printf("%s",a);则是否编译错误?_百度...
数组之间拷贝不能直接使用a=b,而是可以使用字符串拷贝函数strcpy。而且数组a的长度只有3,而数组b有5个字符,还不包括结尾字符。字符串拷贝函数strcpy格式:strcpy (字符数组名1,字符数组名2) 的功能:把字符数组2中的字符串拷贝到字符数组1中。串结束标志“”也一同拷贝。字符数名2, 也可以是一...
...defghi";则执行下列语句后printf("%d",strlen(strcpy(a,b...
B strcpy(a,b)执行后将以b打头的字符串拷贝到a打头的地址中,所以a字符串被覆盖成"defghi"所以strlen(strcpy(a,b))统计的就是"defghi"的长度,也就是6