用C操作字符串与用户输入
问题描述:
我工作的一个计划,我的基本的计算机科学类和这道题从用户和字符串,采取的命令。然后,使用“reverse”反转后面的字符串或“create”以打印随后的字符串。反转输出应该保持字相反,然后打印后面的字符串反向。用C操作字符串与用户输入
/* 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
以删除字符串空间之前会增加一次。
显示代码的一些输出以及要输出的内容。 – bitcell 2014-11-21 15:16:37
发出命令:扭转世界你好 反向字符串:dlrow 2009东海生日贺esrever – nerd4life 2014-11-21 15:17:42
这就是实际发生或你的期望?请在你的问题中编辑。 – bitcell 2014-11-21 15:19:28