前提・実現したいこと
ppprooooggeennn という文字列に対して ppprooooggeennn を ppp r oooogg ee nnn と文字の種類で分割ppp r oooogg ee nnn を p3 r o4 g2 e2 n3 に変換※(r を r1と表示すると文字数が増えるので r は特に変換されない) p3r o4g2e2n3 として表示したいです。
配列は使わず、ポインタだけでソースコードをかきたいです。
発生している問題・エラーメッセージ
input string aaabbddd Segmentation fault
該当のソースコード
#include<stdio.h> int main(){ char *p,*ppp; int i,k=1,l=0,*pp; printf("input string "); scanf("%s",p); printf("a\n"); for(i=0;i<50;i++){ if(*(p+i)==*(p+i-1)){ *(pp+l)=k; k++; } else{ *(ppp+l)=*(p+i); k=0; l++; } } printf("encode string "); for(i=0;*(ppp+i)!=0;i++){ printf("%c",*(ppp+i)); if(*(ppp+i)!=0){ printf("%d",*(pp+i)); } } return 0; }
試したこと
初めの文字入力のあとにすぐプリントをしているのですが、それすらもでず、エラーになってしまいます。
回答2件
あなたの回答
tips
プレビュー