{"id":27402,"date":"2022-12-24T05:46:30","date_gmt":"2022-12-24T00:16:30","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-pointer-char-output-explanation\/"},"modified":"2022-12-24T05:46:30","modified_gmt":"2022-12-24T00:16:30","slug":"solved-pointer-char-output-explanation","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-pointer-char-output-explanation\/","title":{"rendered":"[Solved] Pointer char output explanation"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-33331270\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"33331270\" data-parentid=\"33330823\" data-score=\"1\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>OK, I will try to explain this as simply as I can.<br \/>\nWhen you do: putchar(*pch++) what you say is &#8216;print that character of the address that pch points to and then increment the pch to point to the next address&#8217;. Essentially, before the first putchar(), *pch=&#8221;a&#8221; and after *pch=&#8221;b&#8221;(because pch points now to ch[1]).<\/p>\n<p>Now, in the second putchar() what you say is: &#8216;print the character in the address that pch points to and then increment the value of the CHARACTER, in that address, by 1&#8217;. So, instead of doing what you did in the second putchar(), you could replace this line whith these two lines:<br \/><code>putchar(*pch); \/\/ 'b'<br \/>\n*pch += 1; \/\/ see, you increment the value(notice the *), not the pointer.<\/code><\/p>\n<p>However, because as I said, it increments the character AFTER the second putchar(), it just prints what it was which is &#8216;b&#8217;. So, just to clear, after the second putchar(), ch[0] = &#8216;a'(we did not change anything in this value)<br \/>\nand ch[1] = &#8216;c'(we incremented the value of the character by 1 and &#8216;b&#8217; + 1 = &#8216;c&#8217;). The rest is unchanged, so ch[2] = &#8216;c&#8217;, ch[3] = &#8216;d&#8217; and so on.. but pch points to ch[1]<br \/>\nNow, in the third putchar(), you do something similar with the first except that you first increment the address that pch points and then print the value of this address.So, you could replace the third putchar() with these two lines:<\/p>\n<p><code>pch++; \/\/ increment the pointer by one, it now points to ch[2], which is 'c'(it remained unchanged)<br \/>\nputchar(*pch); \/\/ 'c'<\/code><\/p>\n<p>So, after the third putchar(), ch[0] = &#8216;a'(remained unchanged), ch[1] = &#8216;c'(changed in the second putchar()), ch[2] = &#8216;c'(remained unchanged)<\/p>\n<p>Finally, in the last putchar(), what you do is similar to the second except that you increment the value of the CHARACTER that pch points to before you print it.<br \/>\nRemember that pch points to ch[2]<br \/>\nSo, you could replace the last putchar() with these two lines:<\/p>\n<p><code>*pch += 1; \/\/ 'c' + 1 = 'd'<br \/>\n putchar(*pch); \/\/ 'd'<\/code><\/p>\n<p>So, after the 4 putchars, ch[0] = &#8216;a'(it remained unchanged), ch[1] = &#8216;c'(changed in the second putchar()), ch[2] = &#8216;d'(changed in the fourth putchar()) and ch[3] = &#8216;d'(it remained unchanged) and the rest of the string remains unchanged, and I think it is now obvious why you get the result you get from printf().<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Pointer char output explanation <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] OK, I will try to explain this as simply as I can. When you do: putchar(*pch++) what you say is &#8216;print that character of the address that pch points to and then increment the pch to point to the next address&#8217;. Essentially, before the first putchar(), *pch=&#8221;a&#8221; and after *pch=&#8221;b&#8221;(because pch points now to &#8230; <a title=\"[Solved] Pointer char output explanation\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-pointer-char-output-explanation\/\" aria-label=\"More on [Solved] Pointer char output explanation\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324,712],"class_list":["post-27402","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-pointers"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[Solved] Pointer char output explanation - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-pointer-char-output-explanation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Pointer char output explanation - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] OK, I will try to explain this as simply as I can. When you do: putchar(*pch++) what you say is &#8216;print that character of the address that pch points to and then increment the pch to point to the next address&#8217;. Essentially, before the first putchar(), *pch=&#8221;a&#8221; and after *pch=&#8221;b&#8221;(because pch points now to ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-pointer-char-output-explanation\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-24T00:16:30+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-pointer-char-output-explanation\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-pointer-char-output-explanation\\\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Pointer char output explanation\",\"datePublished\":\"2022-12-24T00:16:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-pointer-char-output-explanation\\\/\"},\"wordCount\":354,\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"keywords\":[\"c++\",\"pointers\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-pointer-char-output-explanation\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-pointer-char-output-explanation\\\/\",\"name\":\"[Solved] Pointer char output explanation - JassWeb\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\"},\"datePublished\":\"2022-12-24T00:16:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-pointer-char-output-explanation\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-pointer-char-output-explanation\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-pointer-char-output-explanation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Pointer char output explanation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777613206\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777613206\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777613206\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\\\/\\\/jassweb.com\"],\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/author\\\/jaspritsinghghumangmail-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Pointer char output explanation - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-pointer-char-output-explanation\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Pointer char output explanation - JassWeb","og_description":"[ad_1] OK, I will try to explain this as simply as I can. When you do: putchar(*pch++) what you say is &#8216;print that character of the address that pch points to and then increment the pch to point to the next address&#8217;. Essentially, before the first putchar(), *pch=&#8221;a&#8221; and after *pch=&#8221;b&#8221;(because pch points now to ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-pointer-char-output-explanation\/","og_site_name":"JassWeb","article_published_time":"2022-12-24T00:16:30+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-pointer-char-output-explanation\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-pointer-char-output-explanation\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Pointer char output explanation","datePublished":"2022-12-24T00:16:30+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-pointer-char-output-explanation\/"},"wordCount":354,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","pointers"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-pointer-char-output-explanation\/","url":"https:\/\/jassweb.com\/solved\/solved-pointer-char-output-explanation\/","name":"[Solved] Pointer char output explanation - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-12-24T00:16:30+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-pointer-char-output-explanation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-pointer-char-output-explanation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-pointer-char-output-explanation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Pointer char output explanation"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777613206","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777613206","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777613206","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/27402","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=27402"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/27402\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=27402"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=27402"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=27402"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}