{"id":6728,"date":"2011-04-22T18:21:30","date_gmt":"2011-04-22T16:21:30","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=6728"},"modified":"2011-10-05T12:23:44","modified_gmt":"2011-10-05T10:23:44","slug":"10-scanf-ed-esercizi","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/10-scanf-ed-esercizi\/","title":{"rendered":"10. Scanf ed Esercizi"},"content":{"rendered":"<p><a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/corso-completo-c-scanf-ed-esercizi-00.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/corso-completo-c-scanf-ed-esercizi-00.jpg\" alt=\"corso-completo-c-scanf-ed-esercizi-00\" width=\"200\" height=\"100\" class=\"alignleft size-full wp-image-6733\" \/><\/a> Oh bene.. eccoci giunti finalmente alla decima lezione, direi che a questo punto \u00e8 proprio il momento di fermarci un attimo e consolidare tutto quello che abbiamo visto fino ad ora facendo qualche esercizio.<br \/>\nPrima di passare agli esercizi, per\u00f2, vediamo una piccola funzione che ci permetter\u00e0 di assegnare ad una variabile il valore digitato dall&#8217;utente: <strong>scanf()<\/strong>.<!--more--><\/p>\n<h4>Funzione scanf()<\/h4>\n<p>La funzione <em>scanf()<\/em> fa parte della libreria <em>stdio.h<\/em> come la sua sorella <em>printf<\/em>, quindi per utilizzarla \u00e8 necessario inserire in testa al file sorgente dove vogliamo usarla la direttiva:<\/p>\n<pre lang=\"c\" line=\"1\" escaped=\"true\">\r\n#include \r\n<\/pre>\n<p>Il suo utilizzo \u00e8 molto semplice ed in questo momento, poich\u00e9 abbiamo parlato solo di variabili numeriche, vedremo soltanto come acquisire un numero intero digitato dall&#8217;utente.<\/p>\n<p>Scriviamo quindi un programma che acquisisca un numero in input e successivamente lo stampi a schermo.<\/p>\n<pre lang=\"c\" line=\"1\" escaped=\"true\">\r\n#include \r\n\r\nint main(int argc, char **argv) {\r\n\r\nint i;\r\n\r\nprintf(\"Inserisci un valore:\");\r\n\r\nscanf(\"%d\",&amp;i);\r\n\r\nprintf(\"Hai inserito il valore: %d\\n\",i);\r\n\r\n}\r\n<\/pre>\n<p>Come si pu\u00f2 notare la funzione <em>scanf<\/em> ha una sintassi molto simile alla funzione <em>printf<\/em> infatti i placeholder sono gli stessi, l&#8217;unica differenza sta nel simbolo &#8220;&amp;&#8221; anteposto al nome della variabile, capiremo il suo significato quando parleremo dei puntatori.<\/p>\n<p>La funzione <em>scanf<\/em> permette di acquisire anche pi\u00f9 valori contemporaneamente, se volessimo acquisire ad esempio due numeri potremmo scrivere:<\/p>\n<pre lang=\"c\" line=\"1\" escaped=\"true\">\r\n#include \r\n\r\nint main(int argc, char **argv) {\r\n\r\nint i,j;\r\n\r\nprintf(\"Inserisci il primo valore:\");\r\n\r\nscanf(\"%d\",&amp;i);\r\n\r\nprintf(\"Inserisci il second valore:\");\r\n\r\nscanf(\"%d\",&amp;j);\r\n\r\nprintf(\"Hai inserito i: %d j:%d \\n\",i,j);\r\n\r\n}\r\n<\/pre>\n<p><strong>Una precisazione:<\/strong> l&#8217;utilizzo della funzione <em>scanf<\/em> cos\u00ec come l&#8217;ho presentata qui presenta parecchi problemi ai quali al momento non siamo interessati, ma se stessimo scrivendo un programma da milioni di euro dovremmo considerare; ad esempio: &#8220;Cosa succede se l&#8217;utente digita un numero pi\u00f9 grande del massimo numero intero accettabile?&#8221; oppure &#8220;Cosa succede se l&#8217;utente digita del testo invece che dei caratteri?&#8221; In questo momento possiamo supporre di avere un utente diligente che non commetta errori, quando saremo pi\u00f9 bravi vedremo come irrobustire e rendere immuni agli errori pi\u00f9 comuni il nostro codice.<\/p>\n<p>Adesso sotto con gli esercizi!!<\/p>\n<h4>Esercizi:<\/h4>\n<p><strong>ATTENZIONE: A fondo articolo troverete le soluzioni degli esercizi proposti, fate conto per\u00f2 che non ci siano e sforzatevi di ragionare quanto pi\u00f9 potete da soli. Se proprio non riuscite, prima di andare a sbirciare, discutiamone insieme nel forum e vediamo di approfondire per bene cosa non capite. Solo alla fine, quando avrete capito il problema, confrontate la vostra soluzione con quella da noi proposta. Se seguite questa piccola nota, allora si che imparerete a dovere, in tutti gli altri casi, non garantiamo nulla, quindi.. fatelo per VOI!! \ud83d\ude42 E ora Forza!!!<\/strong><\/p>\n<ol>\n<li>Scrivere un programma che presi in input due numeri interi dall&#8217;utente presenti a video i risultati delle quattro operazioni aritmetiche di base (+,-,*,\/)<\/li>\n<li>Scrivere un programma che preso in input un numero intero presenti a video la somma di tutti i numeri da 1 fino a tale numero. (es: numero digitato:5; 1+2+3+4+5 = 15)<\/li>\n<li>Scrivere un programma che presi in input 3 numeri stabilisca se tali numeri possono costituire le lunghezze dei lati di un triangolo.<\/li>\n<li>Scrivere un programma che preso in input un numero stabilisca, senza fare divisioni, se tale numero \u00e8 pari o dispari.<\/li>\n<li>Scrivere un programma che preso in input un numero x, acquisisca poi in input x numeri e ne restituisca la somma.<\/li>\n<li>Scrivere un programma che fin tanto che l&#8217;untente non inserisce 0 (zero) acquisisca un intero e lo stampi a video.<\/li>\n<li>Scrivere un programma che acquisiti due numeri stampi a video in che relazione sono (minore, uguale etc)<\/li>\n<li>Scrivere un programma che calcoli la somma di tutti i numeri minori di 101, poi di 100, di 99 etc.<\/li>\n<li>Scrivere un programma il cui output sia il seguente:<br \/>\n0-&gt;*1234*6789<br \/>\n1-&gt;*1234*6789<br \/>\n2-&gt;*1234*6789<br \/>\n3-&gt;*1234*6789<br \/>\n4-&gt;*1234*6789<br \/>\n5-&gt;*1234*6789<br \/>\n6-&gt;*1234*6789<br \/>\n7-&gt;*1234*6789<br \/>\n8-&gt;*1234*6789<br \/>\n9-&gt;*1234*6789\n<\/li>\n<li>Scrivere un programma che presi in input i coefficienti di una equazione di secondo grado ne ricavi le radici<\/li>\n<\/ol>\n<h4>Soluzioni:<\/h4>\n<p><strong>Esercizio n. 1<\/strong><\/p>\n<pre lang=\"c\" line=\"1\" escaped=\"true\">\r\n#include \r\n\r\nint main (int argc, const char * argv[]) {\r\n\r\n        int a, b;\r\n\r\n        printf(\"Inserisci due numeri: \");\r\n\r\n        scanf(\"%d %d\", &amp;a, &amp;b);\r\n\r\n        printf(\"%d + %d = %d \\n\",a,b,a + b);\r\n\r\n        printf(\"%d - %d = %d \\n\",a,b,a - b);\r\n\r\n        printf(\"%d * %d = %d \\n\",a,b,a * b);\r\n\r\n        printf(\"%d \/ %d = %d \\n\",a,b,a \/ b);\r\n\r\n   return 0;\r\n\r\n}\r\n<\/pre>\n<p>Direi che su questo primo esercizio \u00e8 molto semplice e non c&#8217;\u00e8 molto da spiegare, dichiariamo due variabili, spieghiamo all&#8217;utente cosa deve fare e ne leggiamo il valore tramite la funzione <em>scanf()<\/em>;<\/p>\n<p>Un unica osservazione, il valore delle operazioni non viene assegnato a nessuna variabile, poich\u00e8 in realt\u00e0 non  ci serve, ma viene soltato stampato a video.<\/p>\n<p><strong>Esercizio n. 2<\/strong><\/p>\n<pre lang=\"c\" line=\"1\" escaped=\"true\">\r\n#include \r\n\r\nint main (int argc, const char * argv[]) {\r\n\r\n        int limite;\r\n\r\n        int somma = 0;\r\n\r\n        printf(\"Inserisci limite massimo: \");\r\n\r\n        scanf(\"%d\",&amp;limite);\r\n\r\n        while (limite &gt; 0) {\r\n\r\n                somma = somma + limite;\r\n\r\n                limite = limite - 1;\r\n\r\n        }\r\n\r\n        printf(\"La somma \u00e8: %d\",somma);\r\n\r\n   return 0;\r\n\r\n}\r\n<\/pre>\n<p>In questo esercizio ho utilizzato il costrutto <em>while <\/em> ed invece che sommare i numeri partendo da 1, li ho sommati partendo dal maggiore fino a 1. un piccolo stratagemma per evitare di utilizzare un&#8217;altra variabile.<\/p>\n<p><strong>Esercizio n. 3<\/strong><\/p>\n<pre lang=\"c\" line=\"1\" escaped=\"true\">\r\n#include \r\n\r\nint main (int argc, const char * argv[]) {\r\n\r\n   int latoa, latob, latoc;\r\n\r\n        printf(\"Inserire le misure dei tre lati: \");\r\n\r\n        scanf(\"%d %d %d\",&amp;latoa,&amp;latob,&amp;latoc);\r\n\r\n        if ( (latoa &gt; (latob + latoc))  || (latob &gt; (latoa + latoc)) || (latoc &gt; (latoa + latob)) ) {\r\n\r\n                printf(\"Le misure non possono costituire un rettangolo\");\r\n\r\n        }\r\n\r\n        else {\r\n\r\n                printf(\"Le misure inserite possono costituire un rettangolo\");\r\n\r\n        }\r\n\r\n   return 0;\r\n\r\n}\r\n<\/pre>\n<p>In un triangolo ciascun lato non pu\u00f2 essere pi\u00f9 lungo della somma degli altri due, quindi se questo avviene per uno dei tre lati scrivo a schermo &#8220;Le misure non possono costituire un rettangolo&#8221;, viceversa scrivo &#8220;Le misure inserite possono costituire un rettangolo&#8221;<\/p>\n<p><strong>Esercizio n. 4<\/strong><\/p>\n<pre lang=\"c\" line=\"1\" escaped=\"true\">\r\n#include \r\n\r\nint main (int argc, const char * argv[]) {\r\n\r\n   int numero;\r\n\r\n        printf(\"Inserisci un numero: \");\r\n\r\n        scanf(\"%d\",&amp;numero);\r\n\r\n        if (( numero % 2 ) == 0) {\r\n\r\n                printf(\"Numero pari\");\r\n\r\n        }\r\n\r\n        else {\r\n\r\n                printf(\"Numero dispari\");\r\n\r\n        }\r\n\r\n   return 0;\r\n\r\n}\r\n<\/pre>\n<p>Se un numero \u00e8 pari, il resto della divisione per due (operatore modulo) \u00e8 zero, quindi basta verificare questa propriet\u00e0.<\/p>\n<p>Si sarebbe potuto scrivere anche <\/p>\n<pre lang=\"c\" line=\"1\" escaped=\"true\">\r\nif ( !(numero % 2) )\r\n<\/pre>\n<p>riuscite a capire perch\u00e9?<\/p>\n<p><strong>Esercizio n. 5<\/strong><\/p>\n<pre lang=\"c\" line=\"1\" escaped=\"true\">\r\n#include \r\n\r\nint main (int argc, const char * argv[]) {\r\n\r\n        int qt_numeri;\r\n\r\n        int numero;\r\n\r\n        int somma = 0;\r\n\r\n        printf(\"Inserisci la quanti\u00e0 di numeri: \");\r\n\r\n        scanf(\"%d\",&amp;qt_numeri);\r\n\r\n        printf(\"Dovrai inserire %d numeri:\",qt_numeri);\r\n\r\n        for ( ; qt_numeri &gt; 0; qt_numeri = qt_numeri - 1) {\r\n\r\n                scanf(\"%d\",&amp;numero);\r\n\r\n                somma = somma + numero;\r\n\r\n        }\r\n\r\n        printf(\"La somma \u00e8: %d\",somma);\r\n\r\n   return 0;\r\n\r\n}\r\n<\/pre>\n<p>In questo esercizio acquisiamo la quantit\u00e0 di numeri che vogliamo acquisire, questo valore \u00e8 utilizzato in un <em>for<\/em>, la parte di inizializzazoine del ciclo <em>for<\/em> non \u00e8 necessaria e quindi \u00e8 stata omessa.<\/p>\n<p><strong>Esercizio n. 6<\/strong><\/p>\n<pre lang=\"c\" line=\"1\" escaped=\"true\">\r\n#include \r\n\r\nint main (int argc, const char * argv[]) {\r\n\r\n        int i;\r\n\r\n        printf(\"Inserisci dei numeri, 0 per uscire:\\n\");\r\n\r\n        do {\r\n\r\n                scanf(\"%d\",&amp;i);\r\n\r\n                printf(\"Hai inserito: %d \\n\",i);\r\n\r\n        } while (i != 0) ;\r\n\r\n        printf(\"Ciao ciao\");\r\n\r\n   return 0;\r\n\r\n}\r\n<\/pre>\n<p>Per risolvere questo esercizio ho pensato di utilizzare un <em>do&#8230;while<\/em> all&#8217;interno del quale acquisiamo un numero e nella condizione verifichaimo che sia diverso da zero, se \u00e8 diverso da zero ricomincia il ciclo, viceversa esce.<\/p>\n<p><strong>Esercizio n. 7<\/strong><\/p>\n<pre lang=\"c\" line=\"1\" escaped=\"true\">\r\n#include \r\n\r\nint main (int argc, const char * argv[]) {\r\n\r\n        int a,b;\r\n\r\n        printf(\"Inserisci due numeri: \");\r\n\r\n        scanf(\"%d %d\",&amp;a, &amp;b);\r\n\r\n        if (a <b> b) {\r\n\r\n                printf(\"A \u00e8 maggiore di B\");\r\n\r\n        }\r\n\r\n        else {\r\n\r\n                printf(\"A e B sono uguali\");\r\n\r\n        }\r\n        \r\n   return 0;\r\n\r\n}\r\n<\/pre>\n<p>Qualche <em>if<\/em> per verificare in che relazione stanno i numeri acquisiti, questo esercizio non era difficile, vero?<\/p>\n<p><strong>Esercizio n. 8<\/strong><\/p>\n<pre lang=\"c\" line=\"1\" escaped=\"true\">\r\n#include \r\n\r\nint main (int argc, const char * argv[]) {\r\n\r\n        int counter = 100;\r\n\r\n        int i;\r\n\r\n        int somma = 0;\r\n\r\n        for (; counter &gt; 0; counter = counter - 1) {\r\n\r\n                for ( i = 0; i &lt;= counter; i = i + 1) {\r\n\r\n                        somma = somma + i;\r\n                }\r\n\r\n                printf(&quot;somma: %d\\n&quot;,somma);\r\n\r\n                somma = 0;\r\n        }\r\n\r\nreturn 0;\r\n}\r\n<\/pre>\n<p>In questo esercizio ho utilizzato due cicli <em>for<\/em> annidati, il primo come nell&#8217;esercizio 4 parte dal 100 e decresce fino a 0, per ciascun valore viene eseguito un secondo ciclo <em>for<\/em> che parte da zero e arriva fino al valore del ciclo <em>for<\/em> esterno.<\/p>\n<p><strong>Esercizio n. 9<\/strong><\/p>\n<pre lang=\"c\" line=\"1\" escaped=\"true\">\r\n#include \r\n\r\nint main(int argc, char **argv) {\r\n\r\n int i,j;\r\n\r\n for (i = 0; i \",i);\r\n\r\n   for ( j = 0; j &lt; 10; j++) {\r\n\r\n     if ((j % 5) == 0) {\r\n\r\n       printf(&quot;*&quot;);\r\n\r\n     }\r\n\r\n     else {\r\n\r\n       printf(&quot;%d&quot;,j);\r\n\r\n     }\r\n\r\n   }\r\n\r\n   printf(&quot;\\n&quot;);\r\n\r\n }\r\n\r\n}\r\n<\/pre>\n<p>Una piccola variante del precedente, due cicli <em>for<\/em> annidati e un test sul valore del modulo per sostituire tutti gli zeri e i 4 con il carattere &#8220;*&#8221;.<\/p>\n<p><strong>Esercizio n. 10<\/strong><\/p>\n<pre lang=\"c\" line=\"1\" escaped=\"true\">\r\n#include \r\n#include \r\n\r\nint main(int argc , char **argv) {\r\n\r\n float a,b,c,r,r2,delta;\r\n\r\n printf(\"Inserisci il coefficente di secondo grado:\");\r\n\r\n scanf(\"%f\",&amp;a);\r\n\r\n printf(\"Inserisci il coefficente di primo grado: \");\r\n\r\n scanf(\"%f\",&amp;b);\r\n\r\n printf(\"Inserisci il termine noto: \");\r\n\r\n scanf(\"%f\",&amp;c);\r\n\r\n if ( a == 0 ){\r\n\r\n   printf(\"Il termine di secondo grado non pu\u00f2 essere nullo\");\r\n\r\n   return 1;\r\n\r\n }\r\n\r\n if ((b == 0) &amp;&amp; (c == 0)) {\r\n\r\n   printf(\"Equazione monomia: La soluzione \u00e8 0\");\r\n\r\n   return 0;\r\n\r\n }\r\n\r\n if ( c == 0 ) {\r\n\r\n   printf(\"Equazione spuria: Le soluzioni sono: 0 e %f\",-(b\/a));\r\n\r\n           return 0;\r\n\r\n }\r\n\r\n if ( b == 0 ) {\r\n\r\n   if ( (a * c) &gt; 0 ) {\r\n\r\n     printf(\"Non ci sono radici reali\");\r\n\r\n   }\r\n\r\n   else {\r\n\r\n     r = sqrt(-( c \/ a));\r\n\r\n     printf(\"Le radici sono: %f e %f\",r,-r);\r\n\r\n   }\r\n\r\n   return 0;\r\n\r\n }\r\n\r\n printf(\"Equazione completa:\\n\");\r\n\r\n delta = b * b  - 4 * a * c;\r\n\r\n printf(\"DELTA: %f\",delta);\r\n\r\n r = (float)(-b + sqrt(delta) ) \/ (2 * a);\r\n\r\n r2 =(float)(-b - sqrt(delta) ) \/ (2 * a);\r\n\r\n printf(\"%f\",sqrt(delta));\r\n\r\n printf(\"Le soluzioni sono: %f e %f\",r, r2);\r\n\r\n return 0;\r\n\r\n}\r\n<\/pre>\n<p>Ho dovuto ripassare un p\u00f2 di matematica per scrivere questo programma \ud83d\ude42 non dovrebbe essere difficile seguire il filo del programma&#8230;se avete difficolt\u00e0 chiedete pure attraverso il nostro forum!<\/p>\n<h4>Letture consigliate:<\/h4>\n<p><a href=\"http:\/\/www.amazon.it\/gp\/search\/ref=as_li_qf_sp_sr_il_tl?ie=UTF8&#038;keywords=887192200X&#038;tag=de0d-21&#038;index=aps&#038;linkCode=as2&#038;camp=3370&#038;creative=23322\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/03\/C-Corso-Completo-di-Programmazione-kernighan-ritchie-devAPP.jpg\" alt=\"C-Corso-Completo-di-Programmazione-kernighan-ritchie-devAPP\" title=\"C-Corso-Completo-di-Programmazione-kernighan-ritchie-devAPP\" width=\"54\" height=\"75\" class=\"alignleft size-full wp-image-7803\" \/><\/a> <a href=\"http:\/\/www.amazon.it\/gp\/search\/ref=as_li_qf_sp_sr_il_tl?ie=UTF8&#038;keywords=887192200X&#038;tag=de0d-21&#038;index=aps&#038;linkCode=as2&#038;camp=3370&#038;creative=23322\" target=\"_blank\"><strong>Il linguaggio C. Principi di programmazione e manuale di riferimento (Accademica) <\/strong><\/a><br \/>\n<em>Brian W. Kernighan &#8211; Dennis M. Ritchie<\/em><br \/>\n<strong>Editore:<\/strong> Pearson | <strong>Lingua:<\/strong> Italiano | <strong>Brossura:<\/strong> 313 pagine<br \/>\n<strong>Prezzo Listino:<\/strong> <del datetime=\"2011-09-03T10:00:08+00:00\">EUR 27,00<\/del><br \/>\n<strong>Prezzo Promozione:<\/strong> EUR 22,95 con Spedizione gratuita<\/p>\n<p><a href=\"http:\/\/www.amazon.it\/gp\/product\/8850329547\/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&#038;tag=de0d-21&#038;linkCode=as2&#038;camp=3370&#038;creative=23322&#038;creativeASIN=8850329547\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/09\/C-Corso-Completo-di-Programmazione-Deitel-Deitel-devAPP.jpg\" alt=\"C-Corso-Completo-di-Programmazione-Deitel-Deitel-devAPP\" title=\"C-Corso-Completo-di-Programmazione-Deitel-Deitel-devAPP\" width=\"54\" height=\"75\" class=\"alignleft size-full wp-image-7550\" \/><\/a> <a href=\"http:\/\/www.amazon.it\/gp\/product\/8850329547\/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&#038;tag=de0d-21&#038;linkCode=as2&#038;camp=3370&#038;creative=23322&#038;creativeASIN=8850329547\" target=\"_blank\"><strong>C. Corso completo di programmazione<\/strong><\/a><br \/>\n<em>Paul J. Deitel &#8211; Harvey M. Deitel<\/em><br \/>\n<strong>Editore:<\/strong> Apogeo | <strong>Lingua:<\/strong> Italiano | <strong>Brossura:<\/strong> 640 pagine<br \/>\n<strong>Prezzo Listino:<\/strong> <del datetime=\"2011-09-03T10:00:08+00:00\">EUR 39,00<\/del><br \/>\n<strong>Prezzo Promozione:<\/strong> EUR 33,15 con Spedizione gratuita<\/p>\n<p><a href=\"http:\/\/www.devapp.it\/wordpress\/supporto-applicazioni\/le-applicazioni-dei-nostri-autori\/parole-vietate-di-ignazio-calo\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/02\/bannerIgnazioc.png\" alt=\"\" width=\"480\" height=\"100\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oh bene.. eccoci giunti finalmente alla decima lezione, direi che a questo punto \u00e8 proprio il momento&#8230;<\/p>\n","protected":false},"author":53,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[569],"tags":[593,588,724,723,241,725],"class_list":["post-6728","post","type-post","status-publish","format-standard","hentry","category-corso-completo-di-c","tag-corso-completo-di-c-2","tag-corso-di-c","tag-esempi-codice-programmazione-c","tag-esercizi-programmazione-c","tag-ignazio-calo","tag-scanf-c"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/6728","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/53"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=6728"}],"version-history":[{"count":11,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/6728\/revisions"}],"predecessor-version":[{"id":7814,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/6728\/revisions\/7814"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=6728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=6728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=6728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}