[英]Manipulating strings in C with user input
我正在為我的comp sci類開發一個程序,問題要求從用戶那里獲取命令以及該字符串。 然后,使用“ reverse”來反轉后面的字符串,或者使用“ create”來打印后面的字符串。 反向輸出應保持單詞反向,然后打印反向的字符串。
/* for Reverse command */
else if(strcmp(str,"reverse ") > 0)
{
reverse(str);
printf("Reverse of string: %s\n", str);
}
以下功能用於反轉單詞:
void reverse(char *string)
{
int length, i;
char *begin, *end, temp;
length = strlen(string);
begin = string;
end = string;
for (i = 0 ; i < (length - 1) ; i++)
end++;
for (i = 0 ; i < length/2 ; i++)
{
temp = *end;
*end = *begin;
*begin = temp;
begin++;
end--;
}
}
輸出反轉所有單詞並打印。 有沒有辦法在傳遞給反向函數之前先斷開字符串的反向部分?
在調用函數reverse
之前,使用
char *ptr=strchr(str,' ');
str=++ptr;
切斷str
“反向”。 需要包含string.h
才能使用strchr
。 strchr
返回一個指針,該指針指向字符串str
字符' '
的第一個匹配項;如果找不到該字符,則返回NULL
。 ptr
賦值一次,然后將其分配給str
以從字符串中刪除空格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.