{"id":25755,"date":"2024-03-16T05:31:55","date_gmt":"2024-03-16T05:31:55","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/"},"modified":"2024-03-22T06:56:21","modified_gmt":"2024-03-22T06:56:21","slug":"determining-if-a-string-is-a-palindrome-in-the-c-language","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/","title":{"rendered":"Determining if a string is a palindrome in the C language"},"content":{"rendered":"<p>One way to determine if a string is a palindrome is to use the concept of using two pointers. One pointer points to the beginning of the string and the other pointer points to the end of the string. Then, gradually compare whether the characters pointed to by the two pointers are the same until the two pointers meet or a different character is found.<\/p>\n<p>Here is an example code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;stdio.h&gt;<\/span><\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;string.h&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-type\">int<\/span> <span class=\"hljs-title function_\">isPalindrome<\/span><span class=\"hljs-params\">(<span class=\"hljs-type\">char<\/span>* str)<\/span> {\r\n    <span class=\"hljs-type\">int<\/span> len = <span class=\"hljs-built_in\">strlen<\/span>(str);\r\n    <span class=\"hljs-type\">int<\/span> start = <span class=\"hljs-number\">0<\/span>;\r\n    <span class=\"hljs-type\">int<\/span> end = len - <span class=\"hljs-number\">1<\/span>;\r\n\r\n    <span class=\"hljs-keyword\">while<\/span> (start &lt; end) {\r\n        <span class=\"hljs-keyword\">if<\/span> (str[start] != str[end]) {\r\n            <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;  <span class=\"hljs-comment\">\/\/ \u4e0d\u662f\u56de\u6587<\/span>\r\n        }\r\n        start++;\r\n        end--;\r\n    }\r\n\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">1<\/span>;  <span class=\"hljs-comment\">\/\/ \u662f\u56de\u6587<\/span>\r\n}\r\n\r\n<span class=\"hljs-type\">int<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">()<\/span> {\r\n    <span class=\"hljs-type\">char<\/span> str[<span class=\"hljs-number\">100<\/span>];\r\n    <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"\u8bf7\u8f93\u5165\u4e00\u4e2a\u5b57\u7b26\u4e32\uff1a\"<\/span>);\r\n    <span class=\"hljs-built_in\">scanf<\/span>(<span class=\"hljs-string\">\"%s\"<\/span>, str);\r\n\r\n    <span class=\"hljs-keyword\">if<\/span> (isPalindrome(str)) {\r\n        <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"\u662f\u56de\u6587\\n\"<\/span>);\r\n    } <span class=\"hljs-keyword\">else<\/span> {\r\n        <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"\u4e0d\u662f\u56de\u6587\\n\"<\/span>);\r\n    }\r\n\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;\r\n}\r\n<\/code><\/pre>\n<p>This code first obtains the length of the string using the strlen function, and then uses two pointers, start and end, to point to the beginning and end of the string respectively. Within a while loop, it continuously compares if the characters pointed to by the two pointers are the same. If different characters are found, it returns 0 indicating it is not a palindrome; if the two pointers meet, it indicates that the entire string has been compared and returns 1 indicating it is a palindrome. Finally, in the main function, the isPalindrome function is called for evaluation and the result is output.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One way to determine if a string is a palindrome is to use the concept of using two pointers. One pointer points to the beginning of the string and the other pointer points to the end of the string. Then, gradually compare whether the characters pointed to by the two pointers are the same until [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-25755","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Determining if a string is a palindrome in the C language - Blog - Silicon Cloud<\/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:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Determining if a string is a palindrome in the C language\" \/>\n<meta property=\"og:description\" content=\"One way to determine if a string is a palindrome is to use the concept of using two pointers. One pointer points to the beginning of the string and the other pointer points to the end of the string. Then, gradually compare whether the characters pointed to by the two pointers are the same until [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-16T05:31:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T06:56:21+00:00\" \/>\n<meta name=\"author\" content=\"William Carter\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"William Carter\" \/>\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:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/\"},\"author\":{\"name\":\"William Carter\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0\"},\"headline\":\"Determining if a string is a palindrome in the C language\",\"datePublished\":\"2024-03-16T05:31:55+00:00\",\"dateModified\":\"2024-03-22T06:56:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/\"},\"wordCount\":183,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/\",\"name\":\"Determining if a string is a palindrome in the C language - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T05:31:55+00:00\",\"dateModified\":\"2024-03-22T06:56:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Determining if a string is a palindrome in the C language\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0\",\"name\":\"William Carter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"caption\":\"William Carter\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Determining if a string is a palindrome in the C language - Blog - Silicon Cloud","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:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/","og_locale":"en_US","og_type":"article","og_title":"Determining if a string is a palindrome in the C language","og_description":"One way to determine if a string is a palindrome is to use the concept of using two pointers. One pointer points to the beginning of the string and the other pointer points to the end of the string. Then, gradually compare whether the characters pointed to by the two pointers are the same until [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T05:31:55+00:00","article_modified_time":"2024-03-22T06:56:21+00:00","author":"William Carter","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"William Carter","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/"},"author":{"name":"William Carter","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0"},"headline":"Determining if a string is a palindrome in the C language","datePublished":"2024-03-16T05:31:55+00:00","dateModified":"2024-03-22T06:56:21+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/"},"wordCount":183,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/","url":"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/","name":"Determining if a string is a palindrome in the C language - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T05:31:55+00:00","dateModified":"2024-03-22T06:56:21+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/determining-if-a-string-is-a-palindrome-in-the-c-language\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Determining if a string is a palindrome in the C language"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0","name":"William Carter","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","caption":"William Carter"},"url":"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/25755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=25755"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/25755\/revisions"}],"predecessor-version":[{"id":59883,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/25755\/revisions\/59883"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=25755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=25755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=25755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}