Senhores, criei um código que realiza a leitura de um conjunto de nomes de pessoas e os armazena numa matriz denominada Nome[][], utilizando ponteiros. A intenção é apresentar uma utilidade dos ponteiros de forma evidente como apontador. A leitura é finalizada quando a palavra "fim" é digitada.
Entretanto, ao compilar com o gcc e executar no prompt do Windows, ele entra num loop maluco.
Segue o código.
Desde já, grato.
#include<stdio.h>
#include<string.h>
int main(int argc, char** argv){
char Nome[100][30], *Pnome;
Pnome = &Nome[0][0];
printf("\n Digite um nome. Para finalizar digite fim: \t");
scanf("%[^\n]", Pnome);
while(strcmp(strlwr(Pnome), "fim") != 0){
printf("\n Digite o proximo nome. Para finalizar, fim:\t");
scanf("%[^\n]", Pnome);
}
printf("\n *** Dados Lidos: ");
Pnome = &Nome[0][0];
while(strcmp(strlwr(Pnome), "fim") !=0){
printf("\n\t%s", Pnome);
Pnome+=30;
}
printf("\n\n Fim do programa!");
return 0;
}