求助 字符串展开问题
#include <stdio.h>#include <stdlib.h>
/*在保存字符串时,对出现在连续位置的若干个字符,
如这些字符在ASCII表中也是连续出现,则可以将这些字符使用缩写形式进行保存,以节省保存空间。
例如用A-Z表示ABCD...XYZ,1-5表示12345,c-f表示cdef。
输入:包含缩写形式的字符串
输出:将缩写形式进行还原后的字符串
说明:只处理大小写字母和数字,即对于形如A-9,a-C这样的缩写不进行处理
*/
int main(int argc, char *argv[]) {
static char a[1000],b[1000];
int i,j;
gets(a);
for(i=0,j=0;a[i]!='\0';i++,j++){
if(a[i]==45){
if(((a[i-1]>=48&&a[i-1]<=57&&a[i+1]>=48&&a[i+1]<=57)||(a[i-1]>=65&&a[i-1]<=90&&a[i+1]>=65&&a[i+1]<=90)||(a[i-1]>=97&&a[i-1]<=122&&a[i+1]>=97&&a[i+1]<=122))&&(a[i-1]<a[i+1])){
while(b[j-1]!=a[i+1]-1){
b[j]=b[j-1]+1;
j++;
}
i++;
}
}
b[j]=a[i];
}
puts(b);
return 0;
}
已经指针形式编写,小弟不知道咋弄了。希望大神给与帮助