{"id":22895,"date":"2022-11-22T07:13:47","date_gmt":"2022-11-22T01:43:47","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-c-behaviour-of-printfd-duplicate\/"},"modified":"2022-11-22T07:13:47","modified_gmt":"2022-11-22T01:43:47","slug":"solved-c-behaviour-of-printfd-duplicate","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-c-behaviour-of-printfd-duplicate\/","title":{"rendered":"[Solved] c-behaviour of printf(&#8220;%d&#8221;, ) [duplicate]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-35900273\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"35900273\" data-parentid=\"35900011\" 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><code>printf<\/code> is unusual in that it has no single function signature.  In other words, there&#8217;s no mechanism to automatically take the actual arguments you pass and convert them into the type that&#8217;s expected.  Whatever you try to pass, gets passed.  If the type you pass does not match the type expected by the corresponding format specifier, you get nonsense.<\/p>\n<p>Furthermore, if the mismatched types you&#8217;re passing versus what the format specifiers are expecting have different sizes, <code>printf<\/code> can end up popping random garbage off the stack, that has nothing to do with what you thought you passed.<\/p>\n<p>You asked, &#8220;doesn&#8217;t it have to be deterministic?&#8221;, and the answer there is a very emphatic &#8220;<strong>NO<\/strong>&#8220;!  By passing the wrong type of value to <code>printf<\/code>, you have invoked <em>undefined behavior<\/em>, which means that anything can happen, and it very definitely does not have to be the same thing twice.<\/p>\n<p>(Even though they&#8217;re not required to, some compilers peek at the format string and try to check the values you passed against the values that are expected.  For example, under gcc, your first code fragment gets the warning &#8220;format \u2018%d\u2019 expects type \u2018int\u2019, but argument 2 has type \u2018double\u2019&#8221;.  But I don&#8217;t know of a compiler that will try to do conversions to &#8220;fix&#8221; the arguments.)<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">1<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved c-behaviour of printf(&#8220;%d&#8221;, <double>) [duplicate] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] printf is unusual in that it has no single function signature. In other words, there&#8217;s no mechanism to automatically take the actual arguments you pass and convert them into the type that&#8217;s expected. Whatever you try to pass, gets passed. If the type you pass does not match the type expected by the corresponding &#8230; <a title=\"[Solved] c-behaviour of printf(&#8220;%d&#8221;, ) [duplicate]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-c-behaviour-of-printfd-duplicate\/\" aria-label=\"More on [Solved] c-behaviour of printf(&#8220;%d&#8221;, ) [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,949,608],"class_list":["post-22895","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-compilation","tag-gcc"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[Solved] c-behaviour of printf(&quot;%d&quot;, ) [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-c-behaviour-of-printfd-duplicate\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] c-behaviour of printf(&quot;%d&quot;, ) [duplicate] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] printf is unusual in that it has no single function signature. In other words, there&#8217;s no mechanism to automatically take the actual arguments you pass and convert them into the type that&#8217;s expected. Whatever you try to pass, gets passed. If the type you pass does not match the type expected by the corresponding ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-c-behaviour-of-printfd-duplicate\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-22T01:43:47+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-c-behaviour-of-printfd-duplicate\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-c-behaviour-of-printfd-duplicate\\\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] c-behaviour of printf(&#8220;%d&#8221;, ) [duplicate]\",\"datePublished\":\"2022-11-22T01:43:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-c-behaviour-of-printfd-duplicate\\\/\"},\"wordCount\":229,\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"keywords\":[\"c++\",\"compilation\",\"gcc\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-c-behaviour-of-printfd-duplicate\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-c-behaviour-of-printfd-duplicate\\\/\",\"name\":\"[Solved] c-behaviour of printf(\\\"%d\\\", ) [duplicate] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\"},\"datePublished\":\"2022-11-22T01:43:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-c-behaviour-of-printfd-duplicate\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-c-behaviour-of-printfd-duplicate\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-c-behaviour-of-printfd-duplicate\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] c-behaviour of printf(&#8220;%d&#8221;, ) [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\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\\\/\\\/jassweb.com\"],\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/author\\\/jaspritsinghghumangmail-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] c-behaviour of printf(\"%d\", ) [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-c-behaviour-of-printfd-duplicate\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] c-behaviour of printf(\"%d\", ) [duplicate] - JassWeb","og_description":"[ad_1] printf is unusual in that it has no single function signature. In other words, there&#8217;s no mechanism to automatically take the actual arguments you pass and convert them into the type that&#8217;s expected. Whatever you try to pass, gets passed. If the type you pass does not match the type expected by the corresponding ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-c-behaviour-of-printfd-duplicate\/","og_site_name":"JassWeb","article_published_time":"2022-11-22T01:43:47+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-c-behaviour-of-printfd-duplicate\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-c-behaviour-of-printfd-duplicate\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] c-behaviour of printf(&#8220;%d&#8221;, ) [duplicate]","datePublished":"2022-11-22T01:43:47+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-c-behaviour-of-printfd-duplicate\/"},"wordCount":229,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","compilation","gcc"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-c-behaviour-of-printfd-duplicate\/","url":"https:\/\/jassweb.com\/solved\/solved-c-behaviour-of-printfd-duplicate\/","name":"[Solved] c-behaviour of printf(\"%d\", ) [duplicate] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-11-22T01:43:47+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-c-behaviour-of-printfd-duplicate\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-c-behaviour-of-printfd-duplicate\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-c-behaviour-of-printfd-duplicate\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] c-behaviour of printf(&#8220;%d&#8221;, ) [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\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","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\/22895","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=22895"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/22895\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=22895"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=22895"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=22895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}