C语言,一个两个字符串相连接的函数,可以解释一下,为什么??谢谢
3 A 定义指针,并赋值为常量字符串地址。 正确。
B 定义字符数组,初始化前六个元素,第七个自动为\0, 正确。
C 定义数组后,不可以再用str1="string"方式赋值,错误。
D str1有7个元素,str2有9个元素。 将str1复制给str2 正确。
选C
4 str1为长度为4的字符串,占5个字符空间
str2为10个空间的字符数组
str3为常量字符串,长度为7,占8个字符空间。
str4为不确定指针。
str5为常量字符串,长度为4,占5个字符空间。
选项中,严格来说 ,只有A是对的 。
BD两个,赋值给常量字符串会导致程序崩溃
C赋值给野指针,同样出错。
选自:《程序逻辑及C语言》,本视频为字符串的第04小节。主要讲解四个常用的字符串处理函数,包括:求字符串的长度、字符串的赋值、字符串的连接已经字符串大小的比较。具体有案例讲解。
void mystery1( char *s1, const char *s2 ); //声明函数
int main( void )
{
char string1[ 80 ]; //声明两个字符数组
char string2[ 80 ];
printf( "Enter two strings: " ); //打印提示信息
scanf( "%s%s", string1, string2 ); //输入两个字符串的内容
mystery1( string1, string2 ); //调用mystery1函数
printf( "%s\n", string1 ); //输出字符串string1的内容
return 0;
}
void mystery1( char *s1, const char *s2 ) //定义mystery1函数
{
while ( *s1 != '\0' ) { //逐位检测字符串中的内容直到字符串尾部为止
s1++;
}
for ( ; *s1 = *s2; s1++, s2++ ) { //把字符串s2中的内容逐个地添加到字符串s1的后面
;
}
}
C语言中,合并两个字符串为一个新的字符串,确保在新字符串中,两个字符...
s2[j]!='\\0';j++){ c=0;for (i=0;i<m;i++) if (s3[i]==s2[j]) {c=1;break;};if (c==0) {s3[m]=s2[j];m++;};} s3[m]='\\0';printf ("%s",s3);return 0;} 输出: hapyNewYr --- 单个字符比较 用: if (s3[i]==s1[j]) 则相同;else 则不同;...
一个汉字等于2个字符,那么一个数字和一个字母各也是等于2个字符还是一...
数字与字母是一个字节。。大部分语言是这样的。比如C。。即使汉语编程的也是。比如易语言。不同的语言有不同。。。但是绝大部分语言是 数字与字母是一个字节。。
为什么'a'表示一个字符而"a"表示两个字符?
单引号表示的是字符,而双引号表示的是字符串。"a"在内存中要分配2个字节,第一个字节内容是‘a',第二个字节内容为'\\0'.凡是字符串的都需要以'\\0'这个字节作为整个字符串结束标记。就象我们写文章一样,一句话写完后,要加一个句号表示结束。否则别人怎么会知道我们一句话写完了。在编程中,大家...
C++ 二维数组 编写一个程序,输入两个字符串s1、s2
include <iostream>#include <string>#using namespace std;int main(){ string s1,s2; cin>>s1>>s2; if(s1>s2) cout<<1<<endl; else if(s1==s2) cout<<0<<endl; else cout<<-1<<endl; return 0; } ...
求教编写一个C语言函数求出两个字符串包含的相同的单词
include <stdio.h>char *maxword(char*s, char*t){int wordlen=0,maxlen = 0;char *pt = t, *ps = s, *res = s;while (*s != '\\0'){while (*s == ' ')s++;ps = s;while (*s != ' '&&*s != '\\0')\/\/找到一个单词s++;wordlen = s - ps;\/\/获取单词长度...
C语言中如何同时输入两个单字符
"Please input c1: "); scanf("%c", &c1); getchar(); \/\/ 去掉输入了第一个字符后的回车符 printf("Please input c2: "); scanf("%c", &c2); getchar(); printf("c1=%c\\nc2=%c\\n", c1, c2); return 0;} ...
C语言 将两个字符数组的内容连接后存放到另一个字符数组中 使用gets...
include <stdio.h> include <string.h> char s1[256];char s2[256];char s3[512];\/\/s3=s1+s2 int main(){ int i,sum=0;char tmp;\/\/要统计的字符 printf("请输入s1,s2:\\n");gets(s1);\/\/输入字符串s1,s2 gets(s2);\/\/将s1的字符串复制到s3中 strcpy(s3,s1);\/\/将s3与s2相...
用指针方案编写一个将两个字符串连接起来的函数,并写出能调用该函数的...
include <stdio.h> include <string.h> int main(){ char s1[40],s2[40],s[80];int len1,len2,i;printf("input string1:\\n");gets(s1);printf("input string2:\\n");gets(s2); len1=strlen(s1);len2=strlen(s2);for(i=0;i<len1;i++)s[i]=s1[i];for(i=0;i<len2;i...
...1.定义两个字符数组s1、s2,并用赋初值的方法把两个字符串...
= NULL); assert(src != NULL); p = des + strlen(des); while (*p++ = *src++); return des;}int main(){ char s1[100] = "Computer"; char s2[100] = "Language"; cat(s1, s2); printf("%s\\n", s1); return 0;}2.include <stdio.h>#include <ctype.h>int main(){...
C语言编写一个程序,判别两字符串str1和str2的大小。要求不使用库函数st...
char *s1, char *s2){if (s1 == NULL || s2 == NULL)\/\/ 字符串为空 return 0;while(*s1 == *s2 && *s1 != '\\0'){s1++;s2++;}return *s1 - *s2;}\/\/ 给了一个测试例子~可以自己写几个例子测试一下。int main(){printf("%d\\n", Mystrcmp("ab", "aa"));} ...
漫怪益君: #include<stdio.h> void main() {void con(char sting1[],char sting2[],char sting3[]);char s1[20],s2[20],s3[40]; printf("Input sting1: ");scanf("%s",s1);printf("Input sting2: ");scanf("%s",s2);con(s1,s2,s3);printf("%s\n",s3); } void con(...
盐田区17375503113: 用C语言写出一函数,将两个字符串连接,该怎么写 - ?
漫怪益君: void concat(char *s1, int size1, char *s2, int size2, char *sout) {int i;for (i = 0; i < size1; ++i)sout[i] = s1[i];for (i = 0; i < size2; ++i)sout[i + size1] = s2[i];sout[i] = '\0'; } 示例使用方法: char *s1 = "ABCD"; char *s2 = "12345"; char sout[100];...
盐田区17375503113: 在C语言编程中,如何利用调用函数来把两个字符串连接起来? - ?
漫怪益君: strcat(a,b)把字符串b连到字符串a后面 举例; strcat("wo","niu");//输出woniu
盐田区17375503113: c语言 写一个函数能将两个字符串连接,在主函数中调用 - ?
漫怪益君: 这样就可以了,我已经在vc6通过调试运行了,不过要注意一点哦,虽然c语言里面没有string类型的变量,但是在c++里面有,所以为了防止不必要的麻烦,你这里的变量名字最好不要用string#include<stdio.h> void stringcat(char str1[],char str2[],...
盐田区17375503113: 编写一个函数,将两个字符串连接起来.C语言题目 急急急!!!!!!!!!!在线等麻烦写完整的,我用的是win - tc. - ?
漫怪益君: char *concat(char *source,char *destin) { while(*source); do{ *source++=*destin; }while(*destin++); }
盐田区17375503113: c语言,我写完的程序,执行出错(写一个函数将两个字符串连接) - ?
漫怪益君: 注意两处修改,调试成功 #include "stdio.h" int main() {void add(char str1[],char str2[],char str3[]);//定义函数char s1[100];char s2[100];char s3[200];printf("input str1\n");scanf("%s",s1);printf("input str2\n");scanf("%s",s2);add(...
盐田区17375503113: C语言编程:编写一个将两个字符串进行连接的函数. - ?
漫怪益君: #include void lianjie(char a[],char b[]); { strcat(a,b); printf("%s",a); } main() { char s[40],c[20]; printf("qing shuru 1 zifushuzu:\n"); gets(s); printf("qing shuru 2 zifushuzu:\n") gets(c); lianjie(s,c); }
盐田区17375503113: 用C语言写一个函数,将两个字符串连接. - ?
漫怪益君: 1、实际上就是实现抄strcat这个字符串库函数,在vc自带的crt源码或者linux平台的glibc库中都有strcat的源码,自己可以查阅参考,看看库开发者是如何zd写代码的,对于学习C语言非常有用. 2、示例 #include <stdio.h>char *strcat(char *str1, ...
盐田区17375503113: 用C语言编程:编写一个函数,将两个字符串连接起来 - ?
漫怪益君: 一:char* catStr(char str1[],char str2[]) { strcat(str1,str2); return str1;} 二:char* catStr(char str1[],char str2[]) { int i=0; int lenstr1=0; lenstr=strlen(str1) for(i;i { str1[lenstr++]=str2[1]; } return str1;}
盐田区17375503113: 用C语言:写一个函数,将两个字符串连接 - ?
漫怪益君: #include "stdio.h" main() {char a[]="acegikm"; char b[]="bdfhjlnpq"; char c[80],*p; int i=0,j=0,k=0; while(a[i]!='\0'&&b[j]!='\0') {if (a[i] { c[k]=a[i];i++;} else c[k]=b[j++]; k++; } 46c[k]='\0'; if(a[i]=='\0') p=b+j; else p=a+i; strcat(c,p); puts(c); }