#include void AlteraStr(char prim[], char seg[]); main(){ /* testes com strings e apontadores para string - 1998 */ char car, /* */ *apc, /* */ *apnome[10], /* */ Nome1[100], Nome2[100]; /* */ apc="Silveira"; /* apc == ender de 'S' de "Silveira" */ printf("1 %c \n", *(apc+1) ); /* imprime 'i' de "Silveira" */ car = *(apc+1); /* car == 'i' */ printf("2 %c \n", car ); /* imprime 'i' de "Silveira" */ apc="Saturno"; printf("3 %s \n", apc); printf("4 %c \n", *(apc+2) ); apc="Netuno"; printf("5 %s \n", apc); apnome[0]= "Oliveira"; apnome[1]= "Marte"; printf("6.1 %s \n", apnome[0] ); printf("6.2 %s \n", apnome[1] ); printf("7 %c \n", *(apnome[0]+3) ); car = *(apnome[0]); printf("8 %c \n", car ); apc=apnome[0]; apnome[0]=apnome[1]; apnome[1]=apc; printf("9.1 %s \n", apnome[0] ); printf("9.2 %s \n", apnome[1] ); Nome1[0]='T'; Nome1[1]='e'; Nome1[2]='r'; Nome1[3]='r'; Nome1[4]= 'a'; Nome1[5]= '\0'; AlteraStr(Nome1, Nome2); printf("10 Nome1 = %s \n", Nome1 ); printf("11 Nome2 = %s \n", Nome2 ); AlteraStr(apnome[0] , Nome2 ); printf("12.1 %s \n", apnome[0] ); printf("13 %c \n", ('b'+3) ); } void AlteraStr(char prim[], char seg[]){ int i, j; printf("*** Dentro do AlteraStr: 1 prim = %s \n", prim ); prim="!Alterou so' dentro da fun. AlteraStr!"; printf("*** Dentro do AlteraStr: 2 prim = %s \n", prim ); printf("*** Dentro do AlteraStr: 3 prim = %c%c \n", prim[0], prim[1]); /* Nao pode efetuar: prim[0]='Z'; */ seg[0]='J'; seg[1]='u'; seg[2]='p'; seg[3]='i'; seg[4]='t'; seg[5]='e'; seg[6]='r'; for(i=0;i<30;i++){ seg[i+7]=prim[i]; } seg[i+7]='\0'; } /* fim AlteraStr */