#include <string.h>
#include <stdio.h>
#define TRUE 1
#define FALSE 0
//#pragma import(__use_no_semihosting_swi) // ensure no functions that use semihosting
void my_strcat(const char* str1, const char* str2)
{
int ch1
__asm
{
loop:
ldrb ch1, [str1], #1
cmp ch1,#0
bne loop
sub str1,str1,#1
loop2:
ldrb ch1, [str2], #1
strb ch1, [str1],#1
cmp ch1,#0
bne loop2
}
}
int main(void)
{
const char* b = "Hello World!"迹友
char a[30]
strcpy(a,"链橘I am allright!")
printf("before strcat :b=%s\n",b)
__asm{
MOV R0, a
MOV R1, b
BL my_strcat, {R0, R1}
}
printf("after strcat :b=%s\n",b)
}
这个回棚州团答够标准了吧...
#include <stdio.h>#include <string.h>
main()
{
char i,j,s1[50],s2[50]
scanf("%s%s",s1,s2)//输入二串字含槐符 s1,s2
for(i=0i<51i++)//控制次数
{
s2[i]=s2[i]//计算 s2的字符数,确定 i的值临界值
if(s2[i]=='\0') //如果达到临界值 '\0’
{
for(j=ii<100i++) //使变谈并友量蔽游 j=i i继续增加
{
s2[i]=s1[i-j] //s2[i]等于 i-j(值为:0,1,2,3……)
if(s2[i]=='\0')
{break} //s2[i]等于'\0' 就结束循环
}
}
}
printf("\n输出S2的字符串= %s",s2) //输出s2的值s2的字符串数不超过50;
printf("\n===================================================")
printf("\n使用strcat= %s",strcat(s2,s1)) //拿别人编好的来用。
getch()
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)