dev c++编译有问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dev c++编译有问题相关的知识,希望对你有一定的参考价值。
#include <stdio.h>
#include <stdlib.h>
void strcat(char *, char *);
main()
strcat("dfygwe", "ffwef");
void strcat(char *s, char *t)
while (*s != '\0')
s++;
while ((*s++ = *t++) != '\0')
;
printf("%s",s);
system("pause");
#include <stdio.h>
#include <stdlib.h>
void strcat(char *, char *);
main()
strcat("dfygwe", "ffwef");
void strcat(char *s, char *t)
while (*s != '\0')
s++;
while ((*s++ = *t++) != '\0')
;
printf("%s",s);
system("pause");
在dev c/c++编译器中
编译可以通过,但是运行就有错误,调试时,说程序产生一个访问违例(段异常),没觉得哪里有错呀,想问下错在哪里?为什么?怎么改?
其次,因为你main函数中的
strcat("dfygwe", "ffwef");
本身就是不匹配函数的
因为这里("dfygwe", "ffwef")一个const char*参数,传给了一个 char* 参数,肯定是错误的
如果你将程序的stract函数改成
void strcat(const char *s, const char *t);
注释while的话,只留下输出就可以证明我的话了
下面,楼主我将我的程序给你参考一下
#include <stdio.h>
#include <stdlib.h>
void strcat(char *, char *);
void main()
char a[10],b[10];
scanf("%s",a);
scanf("%s",b);
strcat(a, b);
strcat(a,b);
void strcat(char *s, char *t)
for(int i=0;s[i]!=0;++i)
s[i]=t[i];
printf("%s\n",s);
system("pause");
参考技术B strcat("dfygwe", "ffwef");
你传递的参数是字符串常量,常量是不能被修改的
修改方法
main()
char a[20]="dfygwe", b[20]="ffwef";
strcat(a,b);
还有就是strcat函数里面的printf("%s",s)是不会输入任何东西的,因为s指向的是字符串末尾的'\0'本回答被提问者采纳 参考技术C 回答
整理一些使用时出现的问题现象:一调试就闪退解决方法:打开Dev c艹后,按图片进行即可。最上方工具从左到右依次点击即可2.现象:有时会dos界面出现一闪而过的现象解决方式:1)在return 0; 前添加 getchar() ;是得到一个字符的意思。2) 使用头文件#include,在return 0;之前加system (“pause”) ;让其按任意键继续。3.现象:有时会突然蹦出下图:在这里插入图片描述同时,报告窗口会里显示:error:ID returned 1 exit status然后转而弹出以下界面:对萌新极不友善咳咳,解决方法:分析:先看自己的printf或者scanf等函数是否写错,如果都正确的话,那么可能有以下原因:1.在编译器外打开、加载或修改了所用文件。2.可能是引用或打开的路径不正确。3.某些语法错误时引起编译器对后面程序的错误解读,报出错误的警报信息。解决:1 关闭文件后重新,关闭编译器后重新打开项目。2.关闭其他打开该文件的软件或者编辑器。3.注释掉新修改部分的代码,排查错误。
提问打什么代码都是这样的就是重新下载之后只有第一次用的时候是好的第二次打开就又是这样
回答重新打开一下
项目
看看可以吗亲亲
或者选择重新启动一下电脑,再打开看看呢
提问不管怎么弄都是这样点开项目全都点不了不管重启还是重新安装
回答这个就有点弄不懂了
亲亲可以到电脑专卖店询问一下专业人士哦
提问之前有一个说什么代码敲错了要篡位
回答应该不会吧,因为这重启重新安装都没用
这边比较建议可以去卖电脑的那个专业人士那里去问一下哦
提问知道大概需要花多少钱吗
回答这应该不会很贵的
就让他帮你调一下系统
以上是关于dev c++编译有问题的主要内容,如果未能解决你的问题,请参考以下文章