问题遇到的现象和发生背景
编写函数 char *insert(char *p),其功能是在p指向的字符串中所有数字字符子串前插入一个符号‘-’。函数返回p字符串的首地址。
遇到的现象和发生背景,请写出第一个错误信息
执行insert方法后,输出时,漏了最后一个字符
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
char *insert(char *p){
char *q=p,temp[20];
while(*p){
while(*p&&isalpha(*p)) p++;
if(*p){
strcpy(temp,p);
*p++='-';
strcpy(p,temp);
}
while(*p&&isdigit(*p)) p++;
}
return q;
}
int main(){
char p[]="AB1CD12EF123GH",*q;
q=insert(p);
printf("%s",q);
return 0;
}