C语言代码和运行结果如下:
输出符合样例,望采纳~
附源码:
#include <stdio.h>
#include <string.h>
void join(char *s1, char *s2) {
char s[100]// 保存拼接结果
int i, j, k = 0
for (i = 0s1[i] != '\0'++i) {
s[k++] = s1[i]// 先复制s1中贺配的1个字符
迅雀 for (j = 0s2[j] != '\0'++j)
s[k++] = s2[j]// 再拼接整个s2
禅昌指 }
strcpy(s1, s)// 最后再将拼接好的s复制回s1
}
int main() {
char s1[100] = "ABCD"
char s2[100] = "*"
join(s1, s2)
printf("%s\n", s1)
return 0
}
空格处填上'\0',其ASCII码的值为0,这是字符串结束符。以下内容摘自网络。
对字符数组,有以下几种定义方法:
1)char str[]="12345"
或给字符串加上大括号:char str[]={"12345"}
这种方法定义时,系统会自动在字符串的末尾加上字符碰指串结束符,即 ‘\0’,
2)char str[10]={'1','2','3','4','5'}
这种方法定义时,系统会自动从未初始化的元素开始,将之后的元素赋为\0,如上面的数组str中的元素实际上是:'1','2','3','4','5','\0','\0','\0','\0','\0'
3)char str[]={'1','念基2','3','4','5'}
这种方法定义时,系统不会自动在字符串的末尾加上字符串结束符
此时用sizeof()函数可以正确求出其所占的内存大小;但用strlen()函数不能正笑高配确求出其长度,因为strlen是通过\0判断字符串结束的。
所以,采用该方法定义时,一般人为地加上\0,即char str[]={'1','2','3','4','5', '\0'}
怎么用C语言差弊败在一个文件后面添加内容使用fopen函数打开虚颤文件,用fseek函数将文件位置调整到文件末尾,然后用fwrite函数写入数据即可。下面的示例代码,向1.txt的卜册文件中追加hello world的字符串。
#include <stdio.h>
#include <string.h>
int main()
{
FILE *fp = fopen("1.txt", "a+")
if (fp==0) { printf("can't open file\n")return 0}
fseek(fp, 0, SEEK_END)
char sz_add[] = "hello world\n"
fwrite(sz_add, strlen(sz_add), 1, fp)
fclose(fp)
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)