{"id":18146,"date":"2022-10-29T14:45:31","date_gmt":"2022-10-29T09:15:31","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/"},"modified":"2022-10-29T14:45:31","modified_gmt":"2022-10-29T09:15:31","slug":"solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/","title":{"rendered":"[Solved] Convert code from C++ to C: `a+b > b+a` where a and b are `string`"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-39211517\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"39211517\" data-parentid=\"39211047\" data-score=\"2\" 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>This will do what you expect without any concatenation:<\/p>\n<pre><code>int compare(char *a, char *b)\n{\n    char *p1, *p2;\n    int i, len = strlen(a) + strlen(b);\n\n    p1 = a;\n    p2 = b;\n    for (i=0;i&lt;len;i++) {\n        if (*p1 &gt; *p2) {\n            return 1;\n        } else if (*p1 &lt; *p2) {\n            return -1;\n        }\n        p1++;\n        p2++;\n        if (!*p1) {\n            p1 = b;\n        }\n        if (!*p2) {\n            p2 = a;\n        }\n    }\n    return 0;\n}\n<\/code><\/pre>\n<p>The pointers <code>p1<\/code> and <code>p2<\/code> start at the beginning of <code>a<\/code> and <code>b<\/code> respectively and compare character by character for each one, then each pointer is incremented if there&#8217;s no difference.  When either pointer encounters a null byte, it is reassigned to the start of the other variable to continue from there.<\/p>\n<p>We start by getting the combined length of the two strings and run through the loop that many times.<\/p>\n<p>Working on the decimal representation of the two numbers as strings is actually simpler than dealing with them as integers, as the latter would involve determining the number of decimal digits and multiplying accordingly.  This method also isn&#8217;t constrained by the bounds of whatever integer type you may be using.<\/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 Convert code from C++ to C: `a+b > b+a` where a and b are `string` <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] This will do what you expect without any concatenation: int compare(char *a, char *b) { char *p1, *p2; int i, len = strlen(a) + strlen(b); p1 = a; p2 = b; for (i=0;i&lt;len;i++) { if (*p1 &gt; *p2) { return 1; } else if (*p1 &lt; *p2) { return -1; } p1++; p2++; if &#8230; <a title=\"[Solved] Convert code from C++ to C: `a+b &gt; b+a` where a and b are `string`\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/\" aria-label=\"More on [Solved] Convert code from C++ to C: `a+b &gt; b+a` where a and b are `string`\">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-18146","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] Convert code from C++ to C: `a+b &gt; b+a` where a and b are `string` - 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-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Convert code from C++ to C: `a+b &gt; b+a` where a and b are `string` - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] This will do what you expect without any concatenation: int compare(char *a, char *b) { char *p1, *p2; int i, len = strlen(a) + strlen(b); p1 = a; p2 = b; for (i=0;i&lt;len;i++) { if (*p1 &gt; *p2) { return 1; } else if (*p1 &lt; *p2) { return -1; } p1++; p2++; if ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-29T09:15:31+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-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Convert code from C++ to C: `a+b > b+a` where a and b are `string`\",\"datePublished\":\"2022-10-29T09:15:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/\"},\"wordCount\":164,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/\",\"name\":\"[Solved] Convert code from C++ to C: `a+b > b+a` where a and b are `string` - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-10-29T09:15:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Convert code from C++ to C: `a+b > b+a` where a and b are `string`\"}]},{\"@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] Convert code from C++ to C: `a+b > b+a` where a and b are `string` - 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-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Convert code from C++ to C: `a+b > b+a` where a and b are `string` - JassWeb","og_description":"[ad_1] This will do what you expect without any concatenation: int compare(char *a, char *b) { char *p1, *p2; int i, len = strlen(a) + strlen(b); p1 = a; p2 = b; for (i=0;i&lt;len;i++) { if (*p1 &gt; *p2) { return 1; } else if (*p1 &lt; *p2) { return -1; } p1++; p2++; if ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/","og_site_name":"JassWeb","article_published_time":"2022-10-29T09:15:31+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-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Convert code from C++ to C: `a+b > b+a` where a and b are `string`","datePublished":"2022-10-29T09:15:31+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/"},"wordCount":164,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/","url":"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/","name":"[Solved] Convert code from C++ to C: `a+b > b+a` where a and b are `string` - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-10-29T09:15:31+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-convert-code-from-c-to-c-ab-ba-where-a-and-b-are-string\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Convert code from C++ to C: `a+b > b+a` where a and b are `string`"}]},{"@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\/18146","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=18146"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/18146\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=18146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=18146"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=18146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}