
问题描述:
要求:将输入S1,S2.将S1第N个字符前复制到S3,在S3后跟S2,再将S1从N字 符的内容跟再S3后我现在就最后步不知道怎么赋值过去.请帮帮忙谢谢!
#include <stdio.h>
main()
{
static char s1[10],s2[10],s3[20]
int n,i
printf("input s1\n")
gets(s1)
printf("input s2\n")
gets(s2)
printf("input n\n")
scanf("%d",&n)
for (i=0i<ni++)
s3[i]=s1[i]
strcat(s3,s2)
for (i=n-1i<ni++)就是这里开始出错了!谢谢!
strcat(s3,s1[i])
printf("%s\n",s3)
}
解析:
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
static char s1[10],s2[10],s3[20]
int n,i
printf("input s1\n")
gets(s1)
printf("input s2\n")
gets(s2)
printf("input n\n")
scanf("%d",&n)
for (i=0i<ni++)
s3[i]=s1[i]
strcat(s3,s2)
for (i=n-1i<ni++)就是这里开始出错了!谢谢!
strcat(s3,s1[i])
strcat(s3,&s1[n])
printf("%s\n",s3)
return 0
}
1、方法解释:数组的容量一经定义就固定的,不能动态的添加元素,要想添加就要重新定义个更大容量的数组,再把原数组复制过去。
2、具体方法:
#include <iostream>
#include <vector>
#include <string>
using namespace std
int main
vector<string>vecStr;
vecStr.push_back("x1")。
扩展资料:
程序结构
C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。
因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。
判断语句(选择结构):
if 语句:“如果”语句;if—else 语句:“若?(则)?否则?”语句;switch 语句:“切换”语句;switch—case:“切换—情况”语句。
循环语句(循环结构):
while 语句:“当?”语句;do—while 语句:“做?当?(时候)”语句;for 语句:条件语句(即“(做)?为了?”语句)。
跳转语句(循环结构:是否循环):
goto 语句:“转舵”语句,也称“跳转”语句;break 语句:“中断”(循环)语句,即结束整个循环;continue 语句:“继续”语句(结束本次循环,继续下一次循环);return 语句:“返回”语句。
参考资料来源:百度百科--数组元素
参考资料来源:百度百科--c语言
c字符串的长度需要再加上一个0位置的。读取到了字符串结尾的0才会当作一个完整的字符串.你这个字符串才分配了6个字节,spring和summer显然都越界了。从season[1]开始的话,只有到fall后才能读取到0。
|s|p|r|i|n|g|s|u|m|m|e|r|f|a|l|l|\0\|\0|w|i|n|t|e|r|
解决方法是:char season[][7]
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)