#include
#include
#define STRING_LEN 50 /* 定义一个常量 STRING_LEN,规定允许从键盘上输入的最多字符不超过 STRING_LEN 个字符 */
void main( )
{
int i = 0 , j = 0 ; /* 定义两个循环变量 i 和 j,其中:i 控制 tmp_string 数组,j 控制 my_string 数组 */
char tmp_string[STRING_LEN], my_string[STRING_LEN] ; /* 定义两个字符数组 */
memset(tmp_string, '\0', STRING_LEN) ; /* 将处理前的字符串变量(从键盘输入的字符串)清零 */
memset( my_string, '\0', STRING_LEN) ; /* 将处理后的字符串变量清零 */
gets(tmp_string) ; /* 从键盘上输入一个字符串,并保存到 tmp_string 变量中 */
for( i = 0 ; tmp_string[i] != '\0' ; i ++ ) /* 对 tmp_string 中的每一个字符做循环 */
if( tmp_string[i] != 32 ) /* 如果 tmp_string[i] 中的字符为非空格字符(32为空格符的ASCII编码) */
{
my_string[j] = tmp_string[i] ; /* 则将 tmp_string[i] 拷贝到 my_string[j] 中 */
j ++ ; /* 非空字符数组 my_string 的下标 j 增加 1 */
}
/* 如果 tmp_string[i] 中的字符为 '\0',表示到达字符串结尾,则退出 for 循环 */
printf("tmp_string is %s\n", tmp_string ) ; /* 输出删除空格字符之前的字符串 */
printf("my_string is %s\n", my_string ) ; /* 输出删除空格字符之后的字符串 */
}
void fun(char *str)
{
char *p=str;
int i=0;
while(*p)
{
if(*p!=' ')
str[i++]=*p;
p++;
}
str[i]='\0';
}
int main()
{
char str[81];
char Msg[]="Input a string:";
printf(Msg);
gets(str);
puts(str);
fun(str);
printf("***str:%s!\n",str);
return 0;
}
视觉特效 王继华