c++的小程序出现不明错误,求大神ps帮助

一个C++小程序,运行出错,求大神debug~~~~_百度知道
一个C++小程序,运行出错,求大神debug~~~~
}for (int k=0; ' 'k&#include &a++;for (int index=0,&lt,int b){for (int i=1;;=}void change(char s[]){int max=strlen(s)-1;i++) s2[i]=' change_part(s;j++);i&k++)cout&char s2[max];cstring&/using namespace std,s2,b++) s2[b]=s1[a];void change_part(char s1[];iostream&=max,char s2[]!='=max#include &/index&这一行代码出错for (int i=0;s[index+j]; index=index+j,int num,max-index-j+1);=;s2[k];index++){for (int j=1,j;i&lt
提问者采纳
然后初始化下,不懂的可以再问我哦亲你如果想用那个固定长度的数组的话。方案二,你可以定义一个理想大的数组;具体的你可以参见这个函数的用法就行了,很简单,动态的方式去处理就好了譬如
char *s=(char *)malloc(max*sizeof(char)):分配动态内存,然后用你那个max值去控制存放到哪一个位置不就行了
提问者评价
其他类似问题
按默认排序
其他3条回答
补充一下:可以为数组动态分配内存char *s2;s2 = (char *)malloc(max*sizeof(char));这样的话其他地方涉及s2的地方变量类型也要修改一下
定义数组时数组的大小要定义为一个常量,不能是变量。。。max在这是变量。。。
我觉得max是常量啊~~要不劳驾您帮忙改一下吧~~
常量是你给定的数值,比如100,max是由变量strlen(s)得到的,所以是变量,可以用申请动态内存的办法解决。
从上看到下,连一个main函数都没有,完全错误。
debug的相关知识
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁运行一个c++小程序时出现了下面错误_百度知道
运行一个c++小程序时出现了下面错误
/}void one(father one)/class father{ ;用指针调用虚函数run{ two-&请输入0到3之间的数字&#92:cout&}void two(father *two)&#47: 'run();iostream&
参数为指向father类的一个指针void three(father&);&
three(*p);class daughter:\
n&C++\
} } return 0:public father{public.cpp(58) ;三种调用虚函数的比较: error C2601;
switch (choice)
case 0;&}错误提示如下;
}};;&lt:&quot:\ ;
/&用对象调用虚函数run{ /参数为father类的一个对象void two(father*).cpp(68) ;第十三章_虚函数\
one(*p);}}:p=new son.run(): virtual void run()const{cout&
case 1;&&gt: error C2601; ;&
cin&: void run()const{cout&C++\
case 3;&quot: local function definitions are illegalD;第十三章_虚函数\&
儿子可以跑十万米\
//three'/(0)quit (1)son (2)daughter (3)father.cpp(71) ;
女儿可以跑五万米\&quot: '三种调用虚函数的比较;父亲可以跑万米\;Program Files\第十三章_虚函数\ while (1) {
bool quit=false:&#92.cpp(63) :\三种调用虚函数的比较;}}:p=&#47: void run()const{cout&n&one'三种调用虚函数的比较;}void three(father &three) &#47#include &&;第十三章_虚函数&#92: '
default:quit=
case 2;Program Files&#92.run();Program Files\
two(p): local function definitions are illegalD;n&quot:p=
cout&lt: fatal error C1004;two'用引用调用虚函数run{ C++\void one(father);Program Files&#92:;n&quot: error C2601;C++&#92: local function definitions are illegalD;/;参数为father类的一个引用int main(){ father *p=0:public father{public
女儿可以跑五万米\n& &父亲可以跑万米\n&& & &nbsp:& & & father *p=0; & &}}; & & cin& & &nbsp:&quot:quit= &nbsp, 你少了一个右括号;& & && while (1)&& & & & & & & &&& one(*p):public father{ & &); && & {& & &&void one(father):p= &nbsp, 输出是父亲#include & & &//参数为father类的一个对象void two(father*); &; & & & & & &nbsp:&}};& & & case 3, 希望你能用一个语法高亮之类的编辑器//执行程序; & & &&nbsp//他们两位说的对; void run()const{cout& & return 0; & & cout& }& & && & & & &&nbsp.run();run();three) //用引用调用虚函数run{& &nbsp.run(); & & &&儿子可以跑十万米\n&:public father{ case 2; &; {&&& & &class father{ two(p); &&& && }&(0)quit (1)son (2)daughter (3) switch (choice)& && void run()const{cout& two-& & three(*p); if (quit)& & & & && & & & && & & &&nbsp:p= & && & {& & & & & && & &:cout& & virtual void run()const{cout& //参数为father类的一个引用int main(){&nbsp, 选择1; && &}void two(father *two)//用指针调用虚函数run{& case 0; & &; &nbsp:&//参数为指向father类的一个指针void three(father& & && & & & && &nbsp:p= bool quit= & & &iostream& & & & && & &请输入0到3之间的数字\n&}void one(father one)//用对象调用虚函数run{& & & & }& & & & case 1;}void three(father & & & &}}; & & & & & &&nbsp
其他类似问题
按默认排序
其他2条回答
switch语句最后缺少} 请在if (quit) 这句之前加上 } 即可 请注意仔细检查代码.
switch少了一个“}”,加上就好了
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
为什么电脑总出现应用程序出错的提示
下载积分:30
内容提示:为什么电脑总出现应用程序出错的提示
文档格式:PDF|
浏览次数:2182|
上传日期: 00:03:40|
文档星级:
该用户还上传了这些文档
为什么电脑总出现应用程序出错的提示.PDF
官方公共微信只需一步,快速开始
后使用快捷导航没有帐号?
查看: 413|回复: 12
我用c写的程序为什么会出现runtime error(vc++6.0)
签到天数: 67 天[LV.6]常住居民II
#include &stdio.h&
struct student
}boy1,boy2;
boy1.num=007;
boy1.name=&jane&;
printf(&please input boy1 sex and score:\n&);
scanf(&%c%f&,&boy1.sex,&boy1.score);
printf(&num:%d\nname:%s\n&,boy1.num,boy1.name);
scanf("%c%f",&boy1.sex,&boy1.score);
这句话错误!
scanf遇到空格或制表符或回车才会把值存入到后面的变量!
所以你应该改成scanf("%c %f",&boy1.sex,&boy1.score);
然后运行程序时候 比如输入M 90.1
不要输入M90.1
不懂欢迎追问,还有你的程序写的好不规范,记得把悬赏鱼B给我哈!谢谢了
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 249 天[LV.8]以坛为家I
本帖最后由 zer0 于
19:16 编辑
scanf(&%c%f&,&boy1.sex,&boy1.score);
这句话错误!
scanf遇到空格或制表符或回车才会把值存入到后面的变量!
所以你应该改成scanf(&%c %f&,&boy1.sex,&boy1.score);
然后运行程序时候 比如输入M 90.1& &不要输入M90.1
不懂欢迎追问,还有你的程序写的好不规范,记得把悬赏鱼B给我哈!谢谢了#include &stdio.h&
struct student
{
& &&&
& &&&char *
& &&&
& &&&
}boy1,boy2;
int main(void)
{
& &&&boy1.num=007;
& &&&boy1.name=&jane&;
& &&&printf(&please input boy1 sex and score:\n&);
& &&&scanf(&%c %f&,&boy1.sex,&boy1.score);
& &&&printf(&num:%d\nname:%s\n&,boy1.num,boy1.name);
& &&&return 0;
}复制代码
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 823 天[LV.10]以坛为家III
程序没有问题,估计是编译器抽风了
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 32 天[LV.5]常住居民I
boy1.name=&jane&;
这句话有潜在危险,如果说在内存中有一空闲区域为&abcde...&假设后面都是乱码,那当你在用上面的语句的时候有可能会覆盖这块空闲区域使它变成&janee...&后面全是乱码,发生一些想不到的错误。
建议方案,加一个'\0'。boy1.name=&jane\0&;以保证输出没问题
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 56 天[LV.5]常住居民I
本帖最后由 fanki 于
19:21 编辑
同学是不是用vc吖?
vc中的c编译器float小数要加f后续,你试试用整数应该没有事了~~
要么把float改double吧~~vc的float应该改了些东西~~
#include &stdio.h&
struct student
& & char *
} boy1,boy2;
//最好写写返回值
void main()
& && &&&boy1.num = 7;
& && &&&boy1.name = &jane&;
& && &&&printf(&please input boy1 sex and score:\n&);
& && &&&//scanf( &%c %f&, &boy1.sex, &boy1.score );
& && &&&scanf( &%c&, &boy1.sex );
& && &&&scanf( &%g&, &boy1.score );
& && &&&printf( &num:%d\nname:%s\n&, boy1.num, boy1.name );
//scanf最好分开写~~有时需要清空输入缓冲区
一起学习~~加油吖~~{:7_175:}
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 19 天[LV.4]偶尔看看III
boy1.name=&jane&赋值语句错了。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 56 天[LV.5]常住居民I
还有记得一点~~
boy1.name = &jane&;
是可以的,但是不用给
boy2.name 这些指针做scanf操作
1.指针没有初始化好危险,野指针
2.指针得运用要指向一块空间才可以用,如果修改随意修改不定内容的话,一般程序会崩掉。
&&boy.name = &jane&; //这个是因为&jane&在代码段的数据,是不能改的数据,const char* 类型的。
这些我觉得都应该注意的。
希望对你有帮助。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 249 天[LV.8]以坛为家I
看见楼上都对他说好了,这样是很没劲的!(不是说楼上的童鞋是错的) 我是应该觉得 错误就是要自己去发现, 要留点思考的空间给他, 你们现在让他注意,下次 他犯错就会又来问!我认为这是在害他, 应该要懂得调试 发现错误!!!就会体会到真正的乐趣!!!
你现在对于这些小细节不明白没有关系的! 如果我没猜错的话,楼主应该是在看小甲鱼的C语言教程吧!
或者是其他的刚入门的书籍!
希望你看完后,能在看看这本 &&C Primer Plus&& 到时你就会明白这些细节的重要性! 更能加强巩固C的基础!
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 56 天[LV.5]常住居民I
如果是float的话~~要加f~~昨天说错了~~{:7_175:}
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 11 天[LV.3]偶尔看看II
{:7_155:}........
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 249 天[LV.8]以坛为家I
朋友,琢磨几天明白了吧?&&再给你篇文档看下,
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 596 天[LV.9]以坛为家II
QQ截图49.png (17.47 KB, 下载次数: 0)
21:40 上传
没什么问题啊 同意 二楼的
楼主编译器可能抽风了
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 797 天[LV.10]以坛为家III
小号4 发表于
boy1.name=&jane&;
这句话有潜在危险,如果说在内存中有一空闲区域为&abcde...&假设后面都是乱码,那当你在 ...
支持这个说法
或者直接用char name[10];
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
•••(
Powered by一个c++小程序,但说函数已经有主题,搞了半天没明白,求高手解!后面还有一个错误,帮忙一起改了!_百度知道
一个c++小程序,但说函数已经有主题,搞了半天没明白,求高手解!后面还有一个错误,帮忙一起改了!
& if(IsATriangle) {
if((a==b)&&(b==c))
cout&lt,b;class Triangle{此三角形是一个等边三角形&):Triangle( T
Triangle a(2;&iostream&&quot,2)!=c))
cout&b+c)&&(b&
cout&lt!=b)&&(a,&lt!=c)&&(b;& private,int k);&&&a+c)&&(c&a+b))
IsATriangle=1:a(i),2;
else if((a;&此三角形是一个等腰三角形&&lt: if((a&lt,b(j),c,int k){ int IsAT&此三角形不是一个等边三角形&这不是一个三角形&quot,c(k){}: Triangle(& else IsATriangle=0:;&lt,endl#include&
system(&};pause&&&quot
刚才我手贱提了两次不用回答了,谢谢,问题已解决
cout&lt,c;class Triangle{
cout&&),endl:; }}void
main(){ Triangle a(2;&iostream&此三角形是一个等边三角形&quot,2);&a+c)&&(c&&lt!=c)&&(b,endl!=c))
cout&&lt: int a,int k);&&&a+b))
IsATriangle=1; else IsATriangle=0;
&#47,2!=b)&&(a;&&lt,b;b+c)&&(b&/}; if((a&&&这不是一个三角形&这里 private: Triangle(& if(IsATriangle) {
if((a==b)&&(b==c))
cout&lt:Triangle(&lt,int k){ int IsAT
else if((a#include&此三角形是一个等腰三角形&pause& system(&此三角形不是一个等边三角形&Triangle
这个参数没法传啊
参数 你在main函数中直接赋值的啊 你只需要在main函数中加入cin 三个变量就可以了啊
其他类似问题
按默认排序
其他4条回答
c=k!具体还是参考C++类的成员函数(在类外定义成员函数:a(i);除非你是在类内部定义,b(j),c(k){}.:a(i);
b=j;这句有问题因为你采用的是C++类外定义函数,int k),int j.,b(j)..,外定义函数不能像你这样定义.;.,b(j):a(i),c(k){}!后面是不能接.,int j.,int k){
a=i,c(k){}、inline成员函数) 你需要去掉:Triangle(在加上TriangleTriangle(int i
不是吧,类内写的是declaration, 你写成了definition,类外面你有来了一个definition,当然不行。这样就OK了:class Triangle{public: Triangle(int i,int j,int k);} Triangle::Triangle(int i, int j, int k) : a(i), b(j), c(k) {//}
类定义完后要加“;”,少一个括号,括号要对齐
您可能关注的推广
小程序的相关知识
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 求大神ps的后果全集 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信