#include <stdio.h>
#include <string.h>
void henkan(char *p);
int main(void)
{
char u[80];
gets(u);
henkan(u);
return 0;
}
void henkan(char *p)
{
if (*p == '\0') return;
while (*(p+1)) {
printf("%d-",*p++);
}
printf("%d",*p);
}
これなんですが 何故最初に*p=='\0' returnとやるんですか?
aiueoと入力したら*pはaだとおもうんですが
*p=='\0'これで一致したらreturnをしてますがどういう意味ですか?

それとwhile (*(p+1)) {
printf("%d-",*p++);
}
printf("%d",*p);
*(p+1)はaiueoの場合iなのでiの場所が\0になるまでですよね?
なんだかよくわからなくなりました
2回もprintfがつかわれてるので
詳しい方詳しく教えてください