Que tal , te doy una variante usando punteros a cadena q es mucho mas corta , te devuelve la cantidad de vocales en el texto , lo que pusiste de la "@" no lo entendi bien , si te referis a que termine de buscar vocales cuando encuentra una es muy simple y si lo necesitas te muestro como seria la modificacion , saludos .
#include <stdio.h>
#include <conio.h>
int contar_vocales(char *);
void main()
{char cad[500];
printf("Ingrese el texto a contar vocales : ");
gets(cad);
printf("La cantidad de Vocales en el texto es %d",contar_vocales(cad));
getch();
}
int contar_vocales(char *cad)
{int cont=0;
char *aux=cad; //creas un puntero auxiliar con la direccion del comienzo de cad
while(*aux) // entra mientras el contenido de la cadena != de '\0'
{if(*aux=='a'||*aux=='e'||*aux=='i'||*aux=='o'||*aux=='u') // podes agregar mayus
cont++;
aux++;
}
return cont;
}