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
}
在”ABCDEFGHI“的”D“后面加入”百度知道“假设ABCDFGHI在A2单元格。在B2单元格输入公式:
=LEFT(A2,4)&"百度知道"&RIGHT(A2,5)
首先,使用abap中的CONCATENATE方法,会把要连接的字符串后面的空格自动给去掉的,但不会去掉前面的空格,例如CONCATENATE'#''over' INTO
val.这样val值为“#over”,但如果CONCATENATE'#''over' INTO val.
那val的值就是“
#over”,使用空格在前面不
会被删掉的特性的话,那就有可能添加空格了。
方法为,先连接前面带有空格,最后带有一个特殊符号的字符串,如“
#”,连接后,把#
替换成后面连接的字符串的第一个字符就OK。当初连接的时候,后面那个字符串取第一位以后的字符串。
这样连接后就可以在前面添加空格。一下为方法:
*&---------------------------------------------------------------------**&Formcondense
*&---------------------------------------------------------------------**
连接数据,让每个字符串占20个字符,用于对齐
*----------------------------------------------------------------------**--CHAR_NUM要连接*<--VAL
返回的字符串*--flag
占位符标识位,如果为M,则占18位,空则为20位
*----------------------------------------------------------------------*
FORM condense USING flag char_num CHANGING val.
DATA: num(20) TYPE c,
len TYPE i,
slen TYPE i,
tem(20) TYPE c,
first_num TYPE c.
if flag = 'M'.move'#' to tem.else.move'#' to tem.endif.
IF char_num <''.len =STRLEN( char_num ).
slen = 20 -len.tem =tem+len.MOVEchar_num TO num.MOVEchar_num TO first_num.num =num+1.
CONCATENATE
val tem num INTO val.
REPLACE ALL
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)