您好,登錄后才能下訂單哦!
在C語言中,要實現字符串的循環右移操作,可以先將原始字符串復制到一個新的字符串中,然后將原始字符串的最后n個字符移動到新字符串的開頭,接著將原始字符串的剩余部分添加到新字符串的末尾。以下是一個示例代碼:
#include<stdio.h>
#include<string.h>
void rotate_right(char *str, int n) {
int len = strlen(str);
if (n > len) {
n = n % len;
}
char temp[len + 1];
strcpy(temp, str);
strncpy(str, &temp[len - n], n);
strncpy(&str[n], temp, len - n);
str[len] = '\0';
}
int main() {
char str[] = "Hello, World!";
int n = 3;
printf("Original string: %s\n", str);
rotate_right(str, n);
printf("Rotated string: %s\n", str);
return 0;
}
這段代碼首先計算字符串的長度,然后根據給定的偏移量n
進行取模運算,以確保偏移量不大于字符串長度。接下來,我們創建一個臨時字符串temp
,并將原始字符串復制到其中。然后,我們將原始字符串的最后n
個字符移動到新字符串的開頭,并將原始字符串的剩余部分添加到新字符串的末尾。最后,我們將結果字符串打印出來。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。