{"id":11995,"date":"2022-09-29T06:29:10","date_gmt":"2022-09-29T00:59:10","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/"},"modified":"2022-09-29T06:29:10","modified_gmt":"2022-09-29T00:59:10","slug":"solved-why-the-character-value-stores-in-integer-duplicate","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/","title":{"rendered":"[Solved] why the character value stores in integer? [duplicate]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-49698798\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"49698798\" data-parentid=\"49698709\" data-score=\"0\" 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>The answer is in two parts.<\/p>\n<p>You typed<\/p>\n<pre><code>c = getchar();\n<\/code><\/pre>\n<p>But <code>getchar<\/code> clearly returns <em>characters<\/em>, so how can this work?  Well, actually, it works just fine, in part because the return value from <code>getchar<\/code> is actually an <code>int<\/code> (so that it can also return the non-<code>char<\/code> value <code>EOF<\/code>).  So there&#8217;s no problem here at all.<\/p>\n<p>And then how can you pass an <code>int<\/code> to get printed by <code>%c<\/code>?  Normally when you call <code>printf<\/code> it&#8217;s important for the type of the argument you pass to properly match the type expected by the format specifier.  (For example, it&#8217;s a real bug to pass an <code>int<\/code> and try to print it with <code>%f<\/code>.)  But C doesn&#8217;t always pass types to functions exactly as you write them, sometimes they&#8217;re converted (&#8220;promoted&#8221;) to a larger, common type.<\/p>\n<p>One of the times these conversions apply (and, in modern C, pretty much the only time) is when you&#8217;re calling a function that takes a variable number of arguments, like <code>printf<\/code>.  In that case, when you pass an argument of type <code>char<\/code> or <code>short int<\/code>, it&#8217;s automatically upconverted to <code>int<\/code>.  So printing an <code>int<\/code> value with <code>%c<\/code> is fine.  (The other important promotion is that when you pass a <code>float<\/code>, it&#8217;s automatically converted to <code>double<\/code>.  So it turns out you can print both <code>float<\/code> and <code>double<\/code> using <code>%f<\/code>.)<\/p>\n<p>In fact, in C, characters really are small integers, so none of this is surprising.  One way to see this is to change your printf call ever so slightly:<\/p>\n<pre><code>printf(\"I waited for the %d character\\n\", c);\n<\/code><\/pre>\n<p>Now if you type <code>A<\/code>, it&#8217;ll tell you it got 65, because in ASCII, the code for capital A is 65.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">2<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved why the character value stores in integer? [duplicate] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] The answer is in two parts. You typed c = getchar(); But getchar clearly returns characters, so how can this work? Well, actually, it works just fine, in part because the return value from getchar is actually an int (so that it can also return the non-char value EOF). So there&#8217;s no problem here &#8230; <a title=\"[Solved] why the character value stores in integer? [duplicate]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/\" aria-label=\"More on [Solved] why the character value stores in integer? [duplicate]\">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],"class_list":["post-11995","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] why the character value stores in integer? [duplicate] - 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-why-the-character-value-stores-in-integer-duplicate\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] why the character value stores in integer? [duplicate] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] The answer is in two parts. You typed c = getchar(); But getchar clearly returns characters, so how can this work? Well, actually, it works just fine, in part because the return value from getchar is actually an int (so that it can also return the non-char value EOF). So there&#8217;s no problem here ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-29T00:59:10+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=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] why the character value stores in integer? [duplicate]\",\"datePublished\":\"2022-09-29T00:59:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/\"},\"wordCount\":273,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/\",\"name\":\"[Solved] why the character value stores in integer? [duplicate] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-29T00:59:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] why the character value stores in integer? [duplicate]\"}]},{\"@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\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] why the character value stores in integer? [duplicate] - 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-why-the-character-value-stores-in-integer-duplicate\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] why the character value stores in integer? [duplicate] - JassWeb","og_description":"[ad_1] The answer is in two parts. You typed c = getchar(); But getchar clearly returns characters, so how can this work? Well, actually, it works just fine, in part because the return value from getchar is actually an int (so that it can also return the non-char value EOF). So there&#8217;s no problem here ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/","og_site_name":"JassWeb","article_published_time":"2022-09-29T00:59:10+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] why the character value stores in integer? [duplicate]","datePublished":"2022-09-29T00:59:10+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/"},"wordCount":273,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/","url":"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/","name":"[Solved] why the character value stores in integer? [duplicate] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-29T00:59:10+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-why-the-character-value-stores-in-integer-duplicate\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] why the character value stores in integer? [duplicate]"}]},{"@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\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","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\/11995","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=11995"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/11995\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=11995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=11995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=11995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}