
谁帮我解释一下这个功能的函数每步实现的功能,就是每步是啥意思
#include<stdio.h>#include<string.h>intmain(){charstr[80];voidinsert(char[]);printf("i...
#include <stdio.h>
#include <string.h>
int main()
{char str[80];
void insert(char []);
printf("input four digits:");
scanf("%s",str);
insert(str);
return 0;
}
void insert(char str[])
{int i;
for (i=strlen(str);i>0;i--)
{str[2*i]=str[i];
str[2*i-1]=' ';
}
printf("output:\n%s\n",str);
} 展开
#include <string.h>
int main()
{char str[80];
void insert(char []);
printf("input four digits:");
scanf("%s",str);
insert(str);
return 0;
}
void insert(char str[])
{int i;
for (i=strlen(str);i>0;i--)
{str[2*i]=str[i];
str[2*i-1]=' ';
}
printf("output:\n%s\n",str);
} 展开
3个回答
展开全部
#include <stdio.h>
#include <string.h> //这两句就不用说了吧
int main() //主函数main
{
char str[80]; //定义一个长度为80的字符数组str
void insert(char []); // 声明函数 insert(char[])
printf("input four digits:"); //输出 intput four digits
scanf("%s",str); //用scanf函数接收键盘输入的字符存入str数组中
insert(str); //调用 insert函数 用str做参数
return 0; //main结束 返回 0
}
void insert(char str[]) //定义函数insert(char str[])
{int i; //定义整型变量i
for (i=strlen(str);i>0;i--) /* for循环 ,给i赋值数组的长度,当数组长度大于0时,执行下面的语句每次循环后 i自减,也就是 i=i-1 */
{
str[2*i]=str[i]; //这个是把数组中的偶数的元素全部赋值成 你刚才数组中的str[1]的值;
str[2*i-1]=' '; //这个是把数组中的奇数的元素全部赋值为空格
}
printf("output:\n%s\n",str); //输出 output:回车符 把str字符数组做为字符串输出
}
#include <string.h> //这两句就不用说了吧
int main() //主函数main
{
char str[80]; //定义一个长度为80的字符数组str
void insert(char []); // 声明函数 insert(char[])
printf("input four digits:"); //输出 intput four digits
scanf("%s",str); //用scanf函数接收键盘输入的字符存入str数组中
insert(str); //调用 insert函数 用str做参数
return 0; //main结束 返回 0
}
void insert(char str[]) //定义函数insert(char str[])
{int i; //定义整型变量i
for (i=strlen(str);i>0;i--) /* for循环 ,给i赋值数组的长度,当数组长度大于0时,执行下面的语句每次循环后 i自减,也就是 i=i-1 */
{
str[2*i]=str[i]; //这个是把数组中的偶数的元素全部赋值成 你刚才数组中的str[1]的值;
str[2*i-1]=' '; //这个是把数组中的奇数的元素全部赋值为空格
}
printf("output:\n%s\n",str); //输出 output:回车符 把str字符数组做为字符串输出
}
展开全部
就是给输入的字符串中的每个字符中间加以个空格,首先要保证str足够长
str[2*i]=str[i]; 先把i的数据放到2*i的位置
str[2*i-1]=' '; 在把2*i-1的位置成空格。
其他的都好理解了吧
我觉得最好是 把
for (i=strlen(str);i>0;i--) 改成for (i=strlen(str)-1;i>0;i--) 这样在字符串最后就不会有空格。也需是特定需要吧。
str[2*i]=str[i]; 先把i的数据放到2*i的位置
str[2*i-1]=' '; 在把2*i-1的位置成空格。
其他的都好理解了吧
我觉得最好是 把
for (i=strlen(str);i>0;i--) 改成for (i=strlen(str)-1;i>0;i--) 这样在字符串最后就不会有空格。也需是特定需要吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个程序不报错吗?
感觉上是输入的字符串变成原来的两倍?
感觉上是输入的字符串变成原来的两倍?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询