C++程序 出错提示 该内存不能为written 请问我的错误是?
#include<iostream.h>char*str,*s,*s1;inti,size;voidmain(){cout<<"请输入字符串长度:";cin>>size;...
#include<iostream.h>
char *str,*s,*s1;
int i,size;
void main()
{
cout<<"请输入字符串长度:";
cin>>size;
str=new char[size];
s=new char[size];
cout<<"请输入字符串str:";
cin>>str;
cout<<"请输入字符串s:"<<endl;
cin>>s;
for(i=0;i<size;i++)
{
s1[i]=s[i];
s[i]=str[i];
str[i]=s1[i];
}
cout<<str<<endl;
cout<<s<<endl;
}
万分感谢~~~~~~~~~~~~~~~~~
要求是交换str s两个字符串的内容并输出 展开
char *str,*s,*s1;
int i,size;
void main()
{
cout<<"请输入字符串长度:";
cin>>size;
str=new char[size];
s=new char[size];
cout<<"请输入字符串str:";
cin>>str;
cout<<"请输入字符串s:"<<endl;
cin>>s;
for(i=0;i<size;i++)
{
s1[i]=s[i];
s[i]=str[i];
str[i]=s1[i];
}
cout<<str<<endl;
cout<<s<<endl;
}
万分感谢~~~~~~~~~~~~~~~~~
要求是交换str s两个字符串的内容并输出 展开
5个回答
展开全部
//你的错误主要是在s1的使用上,改下如下:
#include<iostream.h>
char *str,*s,s1;//s1用于交换,定义为字符变量比较好。
int i,size;
void main()
{
cout<<"请输入字符串长度:";
cin>>size;
str=new char[size];
s=new char[size];
cout<<"请输入字符串str:";
cin>>str;
cout<<"请输入字符串s:"<<endl;
cin>>s;
for(i=0;i<size;i++)
{
s1=s[i];
s[i]=str[i];
str[i]=s1;
}
cout<<str<<endl;
cout<<s<<endl;
}
#include<iostream.h>
char *str,*s,s1;//s1用于交换,定义为字符变量比较好。
int i,size;
void main()
{
cout<<"请输入字符串长度:";
cin>>size;
str=new char[size];
s=new char[size];
cout<<"请输入字符串str:";
cin>>str;
cout<<"请输入字符串s:"<<endl;
cin>>s;
for(i=0;i<size;i++)
{
s1=s[i];
s[i]=str[i];
str[i]=s1;
}
cout<<str<<endl;
cout<<s<<endl;
}
展开全部
#include<iostream>
using namespace std;
char *str,*s,s1;
int i,size;
void main()
{
cout<<"请输入字符串长度:";
cin>>size;
str=new char[size];
s=new char[size];
cout<<"请输入字符串str:";
cin>>str;
cout<<"请输入字符串s:"<<endl;
cin>>s;
cout << "test" <<endl;
for(i=0;i<size;i++)
{
s1=s[i];
s[i]=str[i];
str[i]=s1;
}
cout<<str<<endl;
cout<<s<<endl;
}
你的程序的*s1是个指针,没有分配内存,使用si[i]就是不正确的,除非是
s1=new char
using namespace std;
char *str,*s,s1;
int i,size;
void main()
{
cout<<"请输入字符串长度:";
cin>>size;
str=new char[size];
s=new char[size];
cout<<"请输入字符串str:";
cin>>str;
cout<<"请输入字符串s:"<<endl;
cin>>s;
cout << "test" <<endl;
for(i=0;i<size;i++)
{
s1=s[i];
s[i]=str[i];
str[i]=s1;
}
cout<<str<<endl;
cout<<s<<endl;
}
你的程序的*s1是个指针,没有分配内存,使用si[i]就是不正确的,除非是
s1=new char
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
t;
int i,j,temp,a[10];
double sum,average;
void main()
{
cout<<"请输入10个整数:";
for(i=0;i<10;i++)
cin>>a[i]; //输入10个整数,这边多了个>>" "
for(i=0;i<10;i++)
{
for(j=0;j<10-i-1;j++)
if(a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
} // 冒泡排序
cout<<"最大值:"<<a[9]<<"最小值:"<<a[0];
for(i=0;i<10;i++)
sum+=a[i]; //数组求和
average=sum/10; //求平均值
cout<<"算术平均值:"<<average<<endl;
}
cin>>a[i]>>" ";改成cin>>a[i]; 就可以了
int i,j,temp,a[10];
double sum,average;
void main()
{
cout<<"请输入10个整数:";
for(i=0;i<10;i++)
cin>>a[i]; //输入10个整数,这边多了个>>" "
for(i=0;i<10;i++)
{
for(j=0;j<10-i-1;j++)
if(a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
} // 冒泡排序
cout<<"最大值:"<<a[9]<<"最小值:"<<a[0];
for(i=0;i<10;i++)
sum+=a[i]; //数组求和
average=sum/10; //求平均值
cout<<"算术平均值:"<<average<<endl;
}
cin>>a[i]>>" ";改成cin>>a[i]; 就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给s1分配空间。s1=new char[size];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
s1 你没有申请空间 s1[i] = s[i]这句应该出错
s1 你也应该new一下
s1你应该定义成指针...*s1
s1 你也应该new一下
s1你应该定义成指针...*s1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询