tag:blogger.com,1999:blog-6926985245178197542.post5469078781261221726..comments2024-03-23T15:34:28.415-07:00Comments on C Progressivo: Operações Matemáticas com Ponteiros em CUnknownnoreply@blogger.comBlogger4125tag:blogger.com,1999:blog-6926985245178197542.post-42740600708505744722018-05-05T13:52:30.301-07:002018-05-05T13:52:30.301-07:00O blog de vocês me ensina mais do que as aulas do ...O blog de vocês me ensina mais do que as aulas do meu professor de Algoritmos e Estruturas de Dados 1. Obrigado.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6926985245178197542.post-26459301925028379652016-12-07T22:22:28.203-08:002016-12-07T22:22:28.203-08:00Fiz a seguinte alteração no código mudando o '...Fiz a seguinte alteração no código mudando o 'while' para um laço 'for'. Mas parece que o que retornou foram os endereços de memória. <br />--------------------------------------<br /> <br />int main(void)<br /><br />{<br /> int pa[100], razao; <br /> <br /> int *ptr; <br /> <br /> printf("Insira o termo inicial da PA: ");<br /> scanf("%d", &pa[0]);<br /><br /> ptr = pa; <br /><br /> printf("Insira razao da PA: ");<br /> scanf("%d", &razao);<br /> <br /> for(ptr =&pa[0]; ptr <= &pa[99]; ptr+=1)<br /> {<br /> *(ptr+1) = *ptr + razao;<br /><br /> printf("-> %d ", *ptr);<br /><br /> ptr++;<br /> }<br /> <br /><br />system("pause");<br /><br /><br /> return 0;<br />}<br /><br />A saída foi essa:<br /><br />Insira o termo inicial da PA: 5<br />Insira razao da PA: 7<br />-> 5 -> 1999976654 -> 1999976618 -> 0 -> 3872520 -> 127 -> 1375732051 -> 1 -> 3866960 -> 3866624 -> 3872531 -> 3866960 -> 16777218 -> 2 -> 2000253429 -> -2 -> 1999977726 -> 1375732051 -> 3872528 -> 8 -> 1999895274 -> -1 -> 2686648 -> 0 -> 4199152 -> 0 -> 0 -> 16842752 -> 7536836 -> 3870328 -> 2686664 -> 3866624 -> 1972040841 -> 1719536184 -> 3870328 -> 2000031890 -> 36 -> 4 -> -2029387870 -> 1972041216 -> 0 -> 2686684 -> 1972634280 -> 1972040914 -> 1972048270 -> 332126055 -> 0 -> 4199152 -> -1 -> 1972145365 <br />Pressione qualquer tecla para continuar. . .<br /><br />Porque saíram os endereços de memória uma vez que eu escrevi para que me dê na saída um VALOR ?? *ptr ?? (asterisco antes do ponteiro) --<br />printf("-> %d ", *ptr);<br /><br /><br />Unknownhttps://www.blogger.com/profile/17518132909268955098noreply@blogger.comtag:blogger.com,1999:blog-6926985245178197542.post-88186973259669799742016-04-29T10:40:52.396-07:002016-04-29T10:40:52.396-07:00Muito bom, Parabéns. Agora consigo ler os trechos ...Muito bom, Parabéns. Agora consigo ler os trechos de código em C q contém ponteiros e entende-los, antes não entendia nada, confundia *ptr (declaração de ponteiro) com *ptr (extrair valor da memória para onde o ponteiro aponta.<br />Obrigado a toda e equipe do C Progressivo.!Anonymoushttps://www.blogger.com/profile/06466042646318488580noreply@blogger.comtag:blogger.com,1999:blog-6926985245178197542.post-35565690367540041902015-09-17T06:43:41.316-07:002015-09-17T06:43:41.316-07:00Na seção onde diz:
ptr – 3 -> endereço de onde ...Na seção onde diz:<br />ptr – 3 -> endereço de onde ptr apontava, deslocado de duvas variáveis para trás<br /><br />o correto seria: ptr – 3 -> endereço de onde ptr apontava, deslocado de três variáveis para trás?Anonymousnoreply@blogger.com