Dc++ 中报错问题[Error] ld returned 1 exit status

直接上源码了, 求大神指点
#include
#include
#include

#define STU_INFO_FILE "d:\classmates_info_file.txt" //定义文本信息存储路径
#define FAILURE 0xFFFFFFFF
#define SUCCESS !0xFFFFFFFF
#define MAX_STU_COUNT 60
int size = 59; //设置全局变量size用来记录通讯录的个数,和数组的下标一致换句话说就是学生的个数减去1
int judge;
char name[MAX_STU_COUNT][10+1]; //存放姓名,每个班级50人,名字最长为10个字符;
char email[MAX_STU_COUNT][20+1]; //存放姓名,每个班级50人,名字最长为10个字符;
__int64 student_number[MAX_STU_COUNT]; //学号过长,即便unsigned int也不够存储,采用64位整型;
__int64 mobile_phone_number[MAX_STU_COUNT];
__int64 qq_number[MAX_STU_COUNT];

int AddStuInfoFromFile()
{
int tmpi;
char student_number_char[13 + 1];
char mobile_phone_number_char[11 + 1];

char qq_number_char[10 + 1];

FILE * pFile = NULL;

pFile = fopen(STU_INFO_FILE, "r");
if(!pFile)
{
    printf("AddStuInfoFromFile: File Open Failed!\n");
    return FAILURE;
}
else
    printf("AddStuInfoFromFile: File Open Succeeded!\n");

memset(student_number,0,8);  //memset(数组名,要初始化的值,大小)
memset(mobile_phone_number,0,8);
memset(qq_number,0,8);
memset(name,0,MAX_STU_COUNT * (10 + 1));
memset(email,0,MAX_STU_COUNT * (20 + 1));   

for(tmpi = 0; tmpi < MAX_STU_COUNT; tmpi++)
{
    fscanf(pFile,"%s",student_number_char);
    fscanf(pFile,"\t%s",name[tmpi]);
    fscanf(pFile,"\t%s",mobile_phone_number_char);
    fscanf(pFile,"\t%s",email[tmpi]);
    fscanf(pFile,"\t%s\n",qq_number_char);
    student_number[tmpi] = _atoi64(student_number_char);
    mobile_phone_number[tmpi] = _atoi64(mobile_phone_number_char);      
    qq_number[tmpi] = _atoi64(qq_number_char);
    if(student_number[tmpi]==student_number[tmpi-1]){
        tmpi = tmpi - 1;
        size = tmpi;
        break;}
//截止到此一共是tmpi位学生  编号从 0~tmpi-1 ; 若需要输出第n位学生则 则下表为 n-1

/*
printf("name %d is %s\n", tmpi, name[tmpi]);
printf("email %d is %s\n", tmpi, email[tmpi]);
printf("qq_number %d is %I64d\n",tmpi, qq_number[tmpi]);

*/
}
fclose(pFile);
return SUCCESS;
}

void outputAll()
{
int tmpi;
if(judge == FAILURE)
return;

for(tmpi = 0; tmpi <= size; tmpi++)
{

    printf("%I64d\t%s\t%I64d\t%s\t%I64d\n", student_number[tmpi], name[tmpi],
        mobile_phone_number[tmpi], email[tmpi],qq_number[tmpi]);
}

}

void output(int index);
int delete2(int n);
int insert(int index);
int find(__int64 mobile,__int64 QQ);

int main()
{
int n,n2,n3;
__int64 mobile=0,QQ=0;
if(judge = AddStuInfoFromFile()==FAILURE)
return FAILURE;
printf("请选择您所需操作:\n");
printf("1.查询\t2.插入\n3.删除\t4.输出通讯录\n");
char ch=getchar();
switch(ch){
case '1' :{
printf("请输入要查询学生的手机号码或者QQ号码,不选择项请填写数字0\n");
printf("手机号码:");
scanf("%I64d",&mobile);
printf("QQ号码:");
scanf("%I64d",&QQ);
find(mobile,QQ);}break;//查询
case '2' : {
if(size==59)//应该放在该函数之前
printf("超出了学生个数个数的范围\n");
else{

        printf("请输入要插入的位置:");
        scanf("%d",&n3);
        insert(n3);
        }}break;//插入 
    case '3' :{
        printf("请出入要删除学生的编号:");
        scanf("%d",&n2); 
        delete2(n2);
        }break;//删除 
    case '4' :{
        printf("请选择:\n1.输出第n位同学\n2.输出整个通讯录\n") ;
        char ch2 = getchar();//清楚一个缓存 
        ch2 = getchar();
        switch (ch2){
            case '1' :{
                printf("请输入要输出学生的编号:") ;
                scanf("%d",&n);
                output(n);};break;
            case '2' :outputAll();break;
            default  :printf("您输入的操作序号无法识别\n"); 
        } 
    }break;//输出通讯录 
    default  :printf("您输入的操作序号无法识别\n"); 
}

printf("请输入要输出学生的编号:") ;
scanf("%d",&n);
output(n);
return   SUCCESS;

}

void output(int index)
{
int tmpi;
if(judge == FAILURE)
return;
if(index-1>size)
printf("超出了学生个数的范围");
else if(index<1)
printf("输入的学生代号不正确\n");
else
printf("%I64d\t%s\t%I64d\t%s\t%I64d\n", student_number[index-1], name[index-1],
mobile_phone_number[index-1], email[index-1],qq_number[index-1]);

}

int find(__int64 mobile,__int64 QQ) //返回值为下标
{
int a1=-1,a2=-1;
int n;
if(mobile != 0){
if(mobile>=10000000000&&mobile<=99999999999){
for(n=0;n<=size;n++){
if(mobile_phone_number[n]== mobile){
a1=n;break; }
}
if(a1==-1){
printf("未找到对应的同学\n");
return FAILURE;}
}
else{
printf("输入的手机号码不正确\n");return FAILURE;}

}
//下面是 手机号为0
if(QQ!=0){
    if(QQ>0&&QQ<=9999999999){
        for(n=0;n<=size;n++){
        if(qq_number[n]==QQ){ 
        a2=n;break; } 
        if(a2==-1){
        printf("未找到对应的同学\n");return FAILURE;}} }
    else
    printf("输入的qq号码不正确\n");return FAILURE;} 
if(QQ==0&&mobile==0){
printf("您没有输入需要搜索的手机号或QQ\n");return FAILURE;}
if(a1==a2&&a1!=-1){
    output(a1+1); 
    return a1; 
} 

int insert(int index) //要求用户输入数据;
{

if(index>size+2){
printf("超出了可插入的范围\n");return FAILURE;} 
else if(index<1){ 
printf("输入的学生代号不正确\n");return FAILURE;} 
else{int size2=size; 
    for(; size2+1 >= index ;size2--){  // 要删除第4个  下 标是3      最大下标是 size=6  是三的呗死替代   n为5 下标为4 size为
    //6  用下标为5 的替代下标为 4 的  n变为6  下标  5   size=6  下标为6的代替下标为5的 size= 6 n为7 
    student_number[size2+1] = student_number[size2];
    mobile_phone_number[size2+1] =mobile_phone_number[size2];
    qq_number[size2+1] = qq_number[size2];
    strcpy(name[size2+1],name[size2]);
    strcpy(email[size2+1],email[size2]);}
    size++;
    char student_number_char[13 + 1];
    char mobile_phone_number_char[11 + 1];  
    char qq_number_char[10 + 1];
    char ch=getchar();
    printf("请输入该同学的姓名:");
    gets(name[index-1]);
    printf("请输入该同学的邮箱:");
    gets(email[index-1]);
    printf("请输入该同学的学号:");
    gets(student_number_char);
    printf("请输入该同学的手机号码:");
    gets(mobile_phone_number_char);
    printf("请输入该同学的QQ号码:");
    gets(qq_number_char);
    student_number[index-1] = _atoi64(student_number_char);
    mobile_phone_number[index-1] = _atoi64(mobile_phone_number_char);       
    qq_number[index-1] = _atoi64(qq_number_char);
    printf("已插入:(位置%d)\n",index);
    output(index);
    return index;
}

//用find查找信息

}

int delete2(int n)
{
if(n>size+1) {
printf("超出了学生个数个数的范围");
return FAILURE;}
else if(n<1){
printf("输入的学生代号不正确\n");
return FAILURE;}
else{
printf("已删除以下学生信息:\n");
output(n);

    for(;n<=size;n++){  // 要删除第4个  下 标是3      最大下标是 size=6  是三的呗死替代   n为5 下标为4 size为
    //6  用下标为5 的替代下标为 4 的  n变为6  下标  5   size=6  下标为6的代替下标为5的 size= 6 n为7 
    student_number[n-1] = student_number[n];
    mobile_phone_number[n-1] =mobile_phone_number[n];
    qq_number[n-1] = qq_number[n];
    strcpy(name[n-1],name[n]);
    strcpy(email[n-1],email[n]);}
    size--;}

}}

c

5个回答

a_dong_2014
Hatton_0 我是新手,看不懂啊。。。
5 年多之前 回复

根据你上面贴出来的代码,函数Find少了最后关闭的花括号(})。你格式化一下,应该很容易发现。
另外你的代码里面,既然有mobile>=10000000000&&mobile<=99999999999,还需要先判断mobile != 0吗?手机也是一样的问题。
还有,你查找的时候,是手机和QQ匹配任一个还是需要同时匹配?如果需要同时匹配,觉得没有必要用两个并列的if,额外的循环了。如果每个记录的手机和QQ不会重复的话,先判断手机,如果发现匹配的,那么只要再判断这个匹配记录的QQ是否和输入的QQ号匹配就可以了,没有必要有循环一遍所有记录。
还有,在Find函数里面,查找手机的时候if(a1==-1)是在For循环外面的,而判断QQ的时候if(a2==-1)是在For循环里面的,按照这样的话,只要第一个人的QQ不匹配,就会提示找不到对应的同学,因为a2这个时候还是初始值-1。所以if(a2==-1)应该放在For循环结束后在判断。但是如果你使用了上面的建议,就不需要这样的判断了。

图片说明

再贴一张图

我也是这个问题,你在任务管理器里找找,有没有你上次运行的程序没关

换个编译器编译试试,用VS

a_dong_2014
Hatton_0 用醉了VS才换的DC++
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ubuntu 平台 codeblocks 编译多文件项目时出现error: ld returned 1 exit status 的问题

/*******a.h*******/ #ifndef A_H_INCLUDE #define A_H_INCLUDE void test(); #endif /***********a.cpp***********/ #include <iostream> #include "a.h" using namespace std; void test(){ cout<<"hello"<<endl; } /*********main.cpp************/ #include "a.h" int main() { test(); return 0; } 用codeblocks 编译的时候怎么都无法编译过。一直提示error:ld returned 1 exit status.

同样的代码code::blocks中运行正常,VSCODE中提示collect2.exe: error: ld returned 1 exit statuscollect2.exe: error: ld returned 1 exit status

一段C代码,在code::blocks中运行正常,但在VSCODE中提示C:\Users\ADMINI~1\AppData\Local\Temp\cc3JOmOu.o:test.cpp:(.text+0x93): undefined reference to `gen_Data(void*)' collect2.exe: error: ld returned 1 exit status 代码如下: 头文件: ``` //kpid.h .... typedef struct _Para { ..... } Para; void gen_Data(void *p); ``` .c文件 ``` //kpid.c #include "kpid.h" void gen_Data(void *p) { Para *pa = (Para *)p; ...... } ``` main ``` //main.c #include "kpid.h" int main() { Para p; p.menber1 = 10; //初始化 .... gen_Data(&p) } ``` 1、这段程序在Code::Blocks17.2 中能正常运行,可输出期望结果 2、将struct定义,gen_Data() 函数定义/实现都放到main.c文件中时(代码不变,仅放的位置移动),在vscode中也能正常运行。 3、但如上代码,定义、实现放在单独的.h,.c文件中,在main.c中包含头文件时,运行错误。提示如下。(函数名的拼写是正确的,没错) C:\Users\ADMINI~1\AppData\Local\Temp\cc3JOmOu.o:test.cpp:(.text+0x93): undefined reference to `gen_Data(void*)' collect2.exe: error: ld returned 1 exit status

[Error] ld returned 1 exit status 怎么解决

#include<iostream> #include<cstring> using namespace std; class tree { public: tree(int n,const char *p,double s) { name=new char[10]; name=p; num=n; score=s; cout<<"tree constructor.."<<endl; } ~tree() { delete []name; cout<<"destructor.."<<endl; } tree() { } private: int num; const char *name; double score; }; int main() { tree pomegranate(5,"guava",59); //tree guava(pomegranate); return 0; }

Dc++ 中报错问题[Error] ld returned 1 exit status

直接上源码了, 求大神指点 #include <stdio.h> #include <stdlib.h> #include <string.h> #define STU_INFO_FILE "d:\\classmates_info_file.txt" //定义文本信息存储路径 #define FAILURE 0xFFFFFFFF #define SUCCESS !0xFFFFFFFF #define MAX_STU_COUNT 60 int size = 59; //设置全局变量size用来记录通讯录的个数,和数组的下标一致换句话说就是学生的个数减去1 int judge; char name[MAX_STU_COUNT][10+1]; //存放姓名,每个班级50人,名字最长为10个字符; char email[MAX_STU_COUNT][20+1]; //存放姓名,每个班级50人,名字最长为10个字符; __int64 student_number[MAX_STU_COUNT]; //学号过长,即便unsigned int也不够存储,采用64位整型; __int64 mobile_phone_number[MAX_STU_COUNT]; __int64 qq_number[MAX_STU_COUNT]; int AddStuInfoFromFile() { int tmpi; char student_number_char[13 + 1]; char mobile_phone_number_char[11 + 1]; char qq_number_char[10 + 1]; FILE * pFile = NULL; pFile = fopen(STU_INFO_FILE, "r"); if(!pFile) { printf("AddStuInfoFromFile: File Open Failed!\n"); return FAILURE; } else printf("AddStuInfoFromFile: File Open Succeeded!\n"); memset(student_number,0,8); //memset(数组名,要初始化的值,大小) memset(mobile_phone_number,0,8); memset(qq_number,0,8); memset(name,0,MAX_STU_COUNT * (10 + 1)); memset(email,0,MAX_STU_COUNT * (20 + 1)); for(tmpi = 0; tmpi < MAX_STU_COUNT; tmpi++) { fscanf(pFile,"%s",student_number_char); fscanf(pFile,"\t%s",name[tmpi]); fscanf(pFile,"\t%s",mobile_phone_number_char); fscanf(pFile,"\t%s",email[tmpi]); fscanf(pFile,"\t%s\n",qq_number_char); student_number[tmpi] = _atoi64(student_number_char); mobile_phone_number[tmpi] = _atoi64(mobile_phone_number_char); qq_number[tmpi] = _atoi64(qq_number_char); if(student_number[tmpi]==student_number[tmpi-1]){ tmpi = tmpi - 1; size = tmpi; break;} //截止到此一共是tmpi位学生 编号从 0~tmpi-1 ; 若需要输出第n位学生则 则下表为 n-1 /* printf("name %d is %s\n", tmpi, name[tmpi]); printf("email %d is %s\n", tmpi, email[tmpi]); printf("qq_number %d is %I64d\n",tmpi, qq_number[tmpi]); */ } fclose(pFile); return SUCCESS; } void outputAll() { int tmpi; if(judge == FAILURE) return; for(tmpi = 0; tmpi <= size; tmpi++) { printf("%I64d\t%s\t%I64d\t%s\t%I64d\n", student_number[tmpi], name[tmpi], mobile_phone_number[tmpi], email[tmpi],qq_number[tmpi]); } } void output(int index); int delete2(int n); int insert(int index); int find(__int64 mobile,__int64 QQ); int main() { int n,n2,n3; __int64 mobile=0,QQ=0; if(judge = AddStuInfoFromFile()==FAILURE) return FAILURE; printf("请选择您所需操作:\n"); printf("1.查询\t2.插入\n3.删除\t4.输出通讯录\n"); char ch=getchar(); switch(ch){ case '1' :{ printf("请输入要查询学生的手机号码或者QQ号码,不选择项请填写数字0\n"); printf("手机号码:"); scanf("%I64d",&mobile); printf("QQ号码:"); scanf("%I64d",&QQ); find(mobile,QQ);}break;//查询 case '2' : { if(size==59)//应该放在该函数之前 printf("超出了学生个数个数的范围\n"); else{ printf("请输入要插入的位置:"); scanf("%d",&n3); insert(n3); }}break;//插入 case '3' :{ printf("请出入要删除学生的编号:"); scanf("%d",&n2); delete2(n2); }break;//删除 case '4' :{ printf("请选择:\n1.输出第n位同学\n2.输出整个通讯录\n") ; char ch2 = getchar();//清楚一个缓存 ch2 = getchar(); switch (ch2){ case '1' :{ printf("请输入要输出学生的编号:") ; scanf("%d",&n); output(n);};break; case '2' :outputAll();break; default :printf("您输入的操作序号无法识别\n"); } }break;//输出通讯录 default :printf("您输入的操作序号无法识别\n"); } printf("请输入要输出学生的编号:") ; scanf("%d",&n); output(n); return SUCCESS; } void output(int index) { int tmpi; if(judge == FAILURE) return; if(index-1>size) printf("超出了学生个数的范围"); else if(index<1) printf("输入的学生代号不正确\n"); else printf("%I64d\t%s\t%I64d\t%s\t%I64d\n", student_number[index-1], name[index-1], mobile_phone_number[index-1], email[index-1],qq_number[index-1]); } int find(__int64 mobile,__int64 QQ) //返回值为下标 { int a1=-1,a2=-1; int n; if(mobile != 0){ if(mobile>=10000000000&&mobile<=99999999999){ for(n=0;n<=size;n++){ if(mobile_phone_number[n]== mobile){ a1=n;break; } } if(a1==-1){ printf("未找到对应的同学\n"); return FAILURE;} } else{ printf("输入的手机号码不正确\n");return FAILURE;} } //下面是 手机号为0 if(QQ!=0){ if(QQ>0&&QQ<=9999999999){ for(n=0;n<=size;n++){ if(qq_number[n]==QQ){ a2=n;break; } if(a2==-1){ printf("未找到对应的同学\n");return FAILURE;}} } else printf("输入的qq号码不正确\n");return FAILURE;} if(QQ==0&&mobile==0){ printf("您没有输入需要搜索的手机号或QQ\n");return FAILURE;} if(a1==a2&&a1!=-1){ output(a1+1); return a1; } int insert(int index) //要求用户输入数据; { if(index>size+2){ printf("超出了可插入的范围\n");return FAILURE;} else if(index<1){ printf("输入的学生代号不正确\n");return FAILURE;} else{int size2=size; for(; size2+1 >= index ;size2--){ // 要删除第4个 下 标是3 最大下标是 size=6 是三的呗死替代 n为5 下标为4 size为 //6 用下标为5 的替代下标为 4 的 n变为6 下标 5 size=6 下标为6的代替下标为5的 size= 6 n为7 student_number[size2+1] = student_number[size2]; mobile_phone_number[size2+1] =mobile_phone_number[size2]; qq_number[size2+1] = qq_number[size2]; strcpy(name[size2+1],name[size2]); strcpy(email[size2+1],email[size2]);} size++; char student_number_char[13 + 1]; char mobile_phone_number_char[11 + 1]; char qq_number_char[10 + 1]; char ch=getchar(); printf("请输入该同学的姓名:"); gets(name[index-1]); printf("请输入该同学的邮箱:"); gets(email[index-1]); printf("请输入该同学的学号:"); gets(student_number_char); printf("请输入该同学的手机号码:"); gets(mobile_phone_number_char); printf("请输入该同学的QQ号码:"); gets(qq_number_char); student_number[index-1] = _atoi64(student_number_char); mobile_phone_number[index-1] = _atoi64(mobile_phone_number_char); qq_number[index-1] = _atoi64(qq_number_char); printf("已插入:(位置%d)\n",index); output(index); return index; } //用find查找信息 } int delete2(int n) { if(n>size+1) { printf("超出了学生个数个数的范围"); return FAILURE;} else if(n<1){ printf("输入的学生代号不正确\n"); return FAILURE;} else{ printf("已删除以下学生信息:\n"); output(n); for(;n<=size;n++){ // 要删除第4个 下 标是3 最大下标是 size=6 是三的呗死替代 n为5 下标为4 size为 //6 用下标为5 的替代下标为 4 的 n变为6 下标 5 size=6 下标为6的代替下标为5的 size= 6 n为7 student_number[n-1] = student_number[n]; mobile_phone_number[n-1] =mobile_phone_number[n]; qq_number[n-1] = qq_number[n]; strcpy(name[n-1],name[n]); strcpy(email[n-1],email[n]);} size--;} }}

为什么会报错 [Error] ld returned 1 exit status ??

# 首先说明,不是编译器没有关闭的问题。 附代码供大佬检查。 ``` #include <iostream> using namespace std ; void merges(double [] , int , double [] , int , double []) ; int main() { double numbers1[80] , numbers2[80] , numbers[80] ; int count = 0 ; for (int i = 0 ; i <= count ; i++) { if (count == 0) { cout << "输入第一个数组的元素个数\n" ; cin >> count ; count = count - 1 ; cout << "依次输入第一个数组的元素\n" ; } cin >> numbers1[i] ; } int numbers1Size = count + 1 ; count = 0 ; for (int i = 0 ; i <= count ; i++) { if (count == 0) { cout << "输入第二个数组的元素个数\n" ; cin >> count ; count = count - 1 ; cout << "依次输入第二组数组元素\n" ; } cin >> numbers2[i] ; } int numbers2Size = count + 1 ; merges(numbers1 , numbers1Size , numbers2 , numbers2Size , numbers) ; return 0 ; } void merges(double numbers1[80] , int numbers1Size , double numbers2[80] , int numbers2Size , int numbers[80]) { bool changed ; do { changed = false ; for (int i = 0 ; i < numbers1Size - 1 ; i++) { if(numbers1[i] > numbers1[i+1]) { double savings ; savings = numbers1[i] ; numbers1[i] = numbers1[i+1] ; numbers1[i+1] = savings ; changed = true ; } } }while (changed) ; do { changed = false ; for (int i = 0 ; i < numbers2Size - 1 ; i++) { if(numbers2[i] > numbers2[i+1]) { double savings ; savings = numbers2[i] ; numbers2[i] = numbers2[i+1] ; numbers2[i+1] = savings ; changed = true ; } } }while (changed) ; int n1 = 0 , n2 = 0; for (int i = 0 ; i <= numbers1Size + numbers2Size -1 ; i++) { if (n1 <= numbers1Size - 1 && n2 <= numbers2Size - 1) { if (numbers1[n1] > numbers2[n2]) { numbers[i] = numbers2[n2] ; n2++ ; } else { numbers[i] = numbers1[n1] ; n1++ ; } continue ; } if (n1 > numbers1Size - 1) { for ( ; n2 <= numbers2Size - 1 ; n2++) { numbers[i] = numbers2[n2] ; i++ ; } continue ; } if (n2 > numbers2Size - 1) { for ( ; n1 <= numbers1Size - 1 ; n1++) { numbers[i] = numbers1[n1] ; i++ ; } } } cout << "\n\n" << "将两个数组合并后的元素按大小顺序排列如下: " ; for (int j = 0 ; j <= (numbers1Size + numbers2Size - 1) ; j++) { cout << numbers[j] << " " ; } return ; } ``` ## 求大佬解答!!

collect2.exe: error: ld returned 1 exit status

最近qt把linux移植到windows,到这个错误捣鼓半天没搞出来,看过网上的解答也没有得到解决,看看各位大神有什么见解。 ps:程序并没有编译出来(.exe程序没有编译出来,所以不存在程序正在运行) ![图片说明](https://img-ask.csdn.net/upload/201809/11/1536665537_713032.png) 编译器:Qt 5.7.1 mingw32 .pro文件: QT += core gui sql network LIBS += -LF:\WORK\test\new\lib -lBaseLib -llibxml2.dll 其中libBaseLib.a是自己用qt mingw32编译的,里面用到了libxml2.a

C++[Error] ld returned 1 exit status

#include<iostream> #include<cmath> using namespace std; class Point { private: int x,y; public: void yidondian(); void xianshijuli(); }; class Line { private: int x,y; public: void diandaozhixianjuli(); void xielvguanxi(); }; class Friangle { private: int x1,x2,x3,y1,y2,y3; public: void panduansanjiaoxing(); void jisuanmianji(); }; void Point::yidondian() { cout<<"输入移动点的坐标"<<endl; cin>>x>>y; cout<<"移动点的坐标为:"<<"("<<x<<","<<y<<")"; } void Point::xianshijuli() { int d; d=sqrt(x*x+y+y); cout<<"点到原点的距离为:"<<endl; } void Line::diandaozhixianjuli() { int a,b,c,d1,d2,d; cout<<"输入点的坐标"<<endl; cin>>x>>y; cout<<"输入直线ax±by+c=0的三个参数abc"<<endl; cin>>a>>b>>c; d1=x*a+b*y+c; d2=sqrt(a*a+b*b); d=d1/d2; if(d>0) { cout<<"点到直线的距离为:"<<d<<endl; } else if(d<0) { int d3; d3=-d; cout<<"点到直线的距离为:"<<d3<<endl; int k; k=-(a/b); if(b!=0) { cout<<"斜率为:"<<k<<endl; } else cout<<"斜率不存在"; } } void Line::xielvguanxi() { int a1,b1,c1,a2,b2,c2,w1,w2,w3; cout<<"输入直线L1 a1x±b1y+c1=0的三个参数a1b1c1"<<endl; cin>>a1>>b1>>c1; cout<<"输入直线L2 a2x±b2y+c2=0的三个参数a2b2c2"<<endl; cin>>a2>>b2>>c2; w1=a1*a2+b1*b2; w2=a1/a2; w3=b1/b2; if(w1==0) { cout<<"两直线互相垂直"; } else if((w2==w3)&&(w3!=c1/c2)) { cout<<"两直线平行"; } else if((w1==w2)&&(w2==w3)) { cout<<"两直线重合"; } else cout<<"两直线相交且不垂直"; } void Friangle::panduansanjiaoxing() { int x1,y1,x2,y2,x3,y3,d1,d2,d3,s1,s2,s3; cout<<"依次输入三个点的坐标"<<endl; cin>>x1>>y1; cin>>x2>>y2; cin>>x3>>y3; d1=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); d2=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3)); d3=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)); s1=sqrt(d1*d1+d2*d2); s2=sqrt(d1*d1+d3*d3); s3=sqrt(d2*d2+d3*d3); if(((d1+d2)>d3)&&((d1+d3)>d2)&&((d2+d3)>d1)) { cout<<"能构成三角形"<<endl; if((d1==d2)&&(d2==d3)) { cout<<"此三角形是等边三角形"<<endl; } if(d1==d2||d1==d3||d2==d3) { cout<<"此三角形是等腰三角形"<<endl; } if(s1==d3||s2==d2||s3==d1) { cout<<"此三角形是直角三角形"<<endl; } double p; p=(d1+d2+d3)/2; double s; s=sqrt(p*(p-d1)*(p-d2)*(p-d3)); cout<<"三角形的面积为:"<<s<<endl; } else { cout<<"不能构成三角形"<<endl; } } void menu() { cout<<"=============================="<<endl; cout<<" 菜单 "<<endl; cout<<" Point的功能按<1> "<<endl; cout<<" Line的功能按<2> "<<endl; cout<<" Friangle的功能按<3> "<<endl; cout<<" PolyAngle的功能按<4> "<<endl; cout<<" 退出按<0> "<<endl; cout<<"=============================="<<endl; } void hanshu1() { Point point1; point1.yidondian(); point1.xianshijuli(); } void hanshu2() { Line line1; line1.diandaozhixianjuli(); line1.xielvguanxi(); } void hanshu3() { Friangle friangle1; friangle1.panduansanjiaoxing(); friangle1.jisuanmianji(); } int main() { int i; while(1) { cin>>i; menu(); switch(i) { case 1: hanshu1(); break; case 2: hanshu2(); break; case 3: hanshu3(); break; case 0: exit(0); } } return 0; } 一直有这个问题运行不了。运行了又没有内容?

编译报错为[Error] ld returned 1 exit status,但经检查无在运行的程序

//【日期】黑色星期五 #include "stdio.h" #include <stdlib.h> #include "math.h" extern int a; int fa(int b) //判断为星期几的函数,返回值x {int c=13,x,y=0; if(b>12||b<1){ printf("month is error.\n"); goto out; } if(a<=1900){ printf("year is error.\n"); goto out; } if(((b==1||b==3||b==5||b==7||b==8||b==10||b==12)&&c>31)||(((a%4==0&&a%100!=0)||(a%400==0))&&b==2&&c>29)||((a%4!=0||a%100==0)&&c>28)||((b==6||b==4||b==9||b==11)&&c>31)||(c<1)){ printf("day is error.\n"); goto out; } switch(b) { case 1:x=c%7+1;break; case 2:x=(31+c)%7+1;break; case 3:x=(31+28+c)%7+1;break; case 4:x=(31+28+31+c)%7+1;break; case 5:x=(31+28+31+30+c)%7+1;break; case 6:x=(31+28+31+30+31+c)%7+1;break; case 7:x=(31+28+31+30+31+30+c)%7+1;break; case 8:x=(31+28+31+30+31+30+31+c)%7+1;break; case 9:x=(31+28+31+30+31+30+31+31+c)%7+1;break; case 10:x=(31+28+31+30+31+30+31+31+30+c)%7+1;break; case 11:x=(31+28+31+30+31+30+31+31+30+31+c)%7+1;break; case 12:x=(31+28+31+30+31+30+31+31+30+31+30+c)%7+1;break; } if(a>2013)x+=(a-2013)/4+(a-2013); if(a<2013) { x-=(2016-a)/4+(2013-a)-7; x+=7*((2015-x)/7); } if(x>=7)x=x%7; out: return x; } //主函数判断某一年的13号是不是为星期五 int main() { int fa(int b) ; int i=0,j[10],b,s; scanf("%d",&a); for(b=1;b<13;b++){ if(fa(b)==5){ j[i]=b; i++; } } s=i; printf("There are %d Black Fridays in year %d.\n",i,a); printf("They are:\n"); for(i=0;i<s;i++){ printf("%d/%d/13\n",a,j[i]); } } ``` ```

[Error] ld returned 1 exit status在Dev的运行的程序是错了什么啊?

#include <iostream> using namespace std; class Rectangle { public: Rectangle(int x,int y); int area(); private: int width;int length; }; int Rectangle::area() { return width*length; } int main() { int width; int length; cout<<"enter the width and length of the rectangle:"<<endl; cin>>width>>length; Rectangle A(width,length); cout<<"the area of rectangle a is"<<A.area()<<endl; return 0; }

Eclipse下编译通过后,再编提示error: ld returned 1 exit status

RT Eclipse for C++ 每次都是这样,好像是因为编译出的exe运行直接未响应导致的。 按照提示,好像我编译的exe文件还在运行,所以无法编译

出现undefined reference to `WinMain@16' collect2.exe: error: ld returned 1 exit status错误

![图片说明](https://img-ask.csdn.net/upload/202005/21/1590025992_588164.png) 运行老师给的程序的时候vscode发生这个undefined reference to `WinMain@16' collect2.exe: error: ld returned 1 exit status错误 vscode用的是 code runner执行的程序

[Error] ld returned 1 exit status?

#include<iostream> using namespace std; int func(int a,int b,int c) { return a+b+c; } int main() { cout<<func(10,20,30)<<endl; return 0; }

Devc可以运行,code显示 ld returned 1 exit status

最近在配置VS code,一串很简单的代码 float a,b; int c = 1; printf("请输入数字\n"); scanf("%f",&a); b = a + c; printf("%f",b); 在devc上可以运行![图片说明](https://img-ask.csdn.net/upload/202004/25/1587796924_956805.png) 在code里显示ld returned 1 exit status 这是怎么回是?

为什么在codeblocks里运行正常的程序,在devc++中却出现[Error] ld returned 1 exit status?

我照着教材在dev c++中打了一个自定义数组的库,第一次对头文件点编译图标毫无反应,对cpp文件点运行说源文件未编译。我只好把dev c++卸载了重装。 第二次再对头文件点编译无误。但对实现头文件的cpp点编译报[Error] ld returned 1 exit status。对应用的cpp点编译也是同一个错,点运行还是说源文件未编译。 我把相同的代码复制到codeblocks里,完全正常。 代码应该没问题。因为从没运行成功过,所以也不存在后台运行未关闭。我的电脑也没有装杀毒软件。马上机考只能用dev c++,但我实在不知道问题出在哪。求各位大神帮帮小弟! ![图片说明](https://img-ask.csdn.net/upload/202001/03/1578045503_233989.png) 代码如下 array.h ``` #ifndef _array_h #define _array_h struct doublearray { int low,high; double *storage; }; bool initialize(doublearray &arr,int low,int high); bool insert(const doublearray &arr,int index,double value); bool fetch(doublearray &arr,int index,double &value); void cleanup(const doublearray &arr); #endif ``` array.cpp ``` #include <iostream> using namespace std; #include "array.h" bool initialize(doublearray &arr,int low,int high) { arr.low=low; arr.high=high; arr.storage=new double[high-low+1]; if(arr.storage!=NULL) return true; else return false; } bool insert(const doublearray &arr,int index,double value) { if(index<arr.low||index>arr.high) return false; arr.storage[index-arr.low]=value; return true; } bool fetch(doublearray &arr,int index,double &value) { if(index<arr.low||index>arr.high) return false; value=arr.storage[index-arr.low]; return true; } void cleanup(const doublearray &arr) { if(arr.storage) delete []arr.storage; } ``` arrayapply.cpp ``` #include "array.h" #include <iostream> using namespace std; int main() { doublearray array; double value; int low,high; cout<<"low high"<<endl; cin>>low>>high; if(!initialize(array,low,high)) { cout<<"get space failed"<<endl; return 1; } for(int i=low;i<=high;i++) { cout<<"array["<<i<<"]= "<<endl; cin>>value; insert(array,i,value); } int j; cout<<"第几个元素?"<<endl; cin>>j; if(fetch(array,j,value)) cout<<"array["<<j<<"]= "<<value<<endl; else cout<<"下标越界"<<endl; cleanup(array); return 0; } ```

Ubuntu codeblocks 编译出现 error:id returned 1 exit status?

```c++ #include<iostream> #include<unistd.h> #include<thread> #include<mutex> using namespace std; void execute(mutex &m,char &i,char t) { for(;true;m.lock(),cout<<"线程"<<t<<"执行中,输入:",cin>>i,cout<<"线程"<<t<<"执行",i==t?cout<<"成功":cout<<"失败",cout<<"。"<<endl,m.unlock(),sleep(1)); } int main(int argc,char *argv[]) { mutex m; char i; thread t([&m,&i]() { execute(m,i,'t'); }),u([&m,&i]() { execute(m,i,'u'); }),v([&m,&i]() { execute(m,i,'v'); }); t.join(); u.join(); v.join(); return 0; } ```

运行结果是ld returned 1 exit status.应该是我的函数有问题,如何改正?

原题是:自动寄存柜有n个寄存箱,并且有一个投币控制器,顾客想要寄存小件物品时,只要在投币控制器中投入一个1元硬币,如果此时有空闲的箱子,寄存柜就会自动打开一个空的箱子,并且打印输出一张小小的密码纸条;如果没有空闲的箱子,则提示“本柜已满”。当顾客离开超市时,用密码纸条上指定的数字密码依次输入到开箱控制器,则顾客所存包的箱子门就会自动打开,顾客取走物品后,关上门。 输入数据时,可先输入寄存箱总数n, 再由用户选择是“投硬币”还是“输密码”。 如果选择“投硬币”,则只有硬币值是1时才开箱。如果有空闲的箱子,则输出箱子编号及密码(4位数字); 如果无空闲的箱子,则提示“本柜已满”。 如果选择“输密码”,若输入的密码与某一箱子密码相符,则显示打开的箱子编号,否则输出提示“密码错误”。 万能密码:假定有一个密码000086,该密码用于营业结束后整理寄存柜。先在菜单中输入隐藏的选项5,然后提示请输入万能密码,密码输入后,打开所有的箱子,如有箱子中客户没有取走东西,则提示:请重点检查某编号的箱子是否有物留存。 我的程序稍作改变,大致意思不变。 谢谢啦~ ``` #include<stdio.h> #include<time.h> #include<stdlib.h> #include<string.h> //寄存柜结构 struct lockers{ int used; //空0用1 int password; }locker[100]={0}; int NewLocker(); int TakeOut(int pword); int KeeperCheck(); int main() { int opennum=5; printf("目前开放箱数:");//管理员输入投入使用箱数 scanf("%d",&opennum); printf("-----【用户界面】-----\n"); printf("1-寄存(需投入1元硬币)\n2-取物\n0-退出\n"); int choice; int coin; int pword; char key[7]={'0','0','0','0','8','6'}; char keeper[7]; scanf("%d",&choice); switch(choice){ case 1: srand(time(NULL)); printf("请投入硬币:"); scanf("%d",&coin); if(coin==1){ NewLocker(); break; } else break; case 2: printf("输入密码:"); scanf("%d",&pword); TakeOut(pword); break; case 0: printf("您已退出\n"); break; case 5: printf("输入管理员密码:"); scanf("%s",&keeper); if(strcmp(key,keeper)==0){ KeeperCheck(); } break; } return 0; } //开启新箱子(判断是否存满并给出对应密码) int NewLocker(int opennum){ int i; for(i=0;i<=opennum;i++){ if(locker[i].used==0){ //找空箱子 printf("箱子号码:%d\n",i); locker[i].used=1; //使用标记 locker[i].password=rand()%(9999-1000+1); //存密码 printf("密码为:%d\n",locker[i].password); break; } if(locker[opennum].used==1){ printf("本柜已满\n"); break; } } return 0; } //判断密码,取出物品归0并清空密码信息 int TakeOut(int pword){ int j; int opennum; for(j=0;j<=opennum;j++){ if(pword==locker[j].password){ locker[j].used=0; locker[j].password=0; printf("欢迎下次再来!\n"); break; } else printf("密码错误!\n"); break; } return 0; } //管理员检查 int KeeperCheck(){ int p; int opennum; for(p=0;p<=opennum;p++){ if(locker[p].used==1){ printf("%d 号箱有东西遗漏\n",p); } else break; } return 0; } ```

请问我在Dev-Cpp写c的程序\collect2.exe[Error] ld returned 1 exit status那错

#include <stdio.h> #include <stdlib.h> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int leap(int a); int number(int year,int m ,int d); int main(int argc, char *argv[]) { int year, month,day,n; printf("请输入年月日\n"); //sacanf("%d,%d,%d",&year,&month,&day); sacanf("%d,%d,%d",&year,&month,&day); n=number(year,month,day); if((n%5)<4 && (n%5)>0) printf("%d%d%d 打渔\n",year,month,day); else printf("%d%d%d 嗮网\n",year,month,day); return 0; } int leap(int a){ if(a%4==0 && a%100!=0 || a%400==0) return 1; else return 0; } int number(int year,int m ,int d){ int sum=0,i,j; int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; int b[12]={31,29,31,30,31,30,31,31,30,31,30,31}; if(leap(year==1)) for(i=0;i<m-1;i++) sum+=b[i]; else for(i=0;i<m-1;i++) sum+=a[i]; for(j=2011;j<year;j++) if(leap(j)==1) sum+=366; else sum+=365; sum+=d; return sum; } 网上查过是链接问题。。。 怎么改回去?

Dev-cpp加载图片时爆此错:collect2.exe [Error] ld returned 1 exit status

我用Dev-cpp编辑器编辑以下程序,报了collect2.exe [Error] ld returned 1 exit status这样的错,如何解决? ```cpp #include<bits/stdc++.h> #include<Windows.h> using namespace std; int main () { char fileName[30]; //定义打开图像名字 char *buf; //定义文件读取缓冲区 char *p; int r,g,b,pix; HWND wnd; //窗口句柄 HDC dc; //绘图设备环境句柄 FILE *fp; //定义文件指针 FILE *fpw; //定义保存文件指针 DWORD w,h; //定义读取图像的长和宽 DWORD bitCorlorUsed; //定义 DWORD bitSize; //定义图像的大小 BITMAPFILEHEADER bf; //图像文件头 BITMAPINFOHEADER bi; //图像文件头信息 cout<<"请输入要打开文件的名字:(如:e:\\1.bmp)"; cin>>fileName; if((fp=fopen(fileName,"rb"))==NULL) { cout<<"文件未找到!"; exit(0); } fread(&bf,sizeof(BITMAPFILEHEADER),1,fp);//读取BMP文件头文件 fread(&bi,sizeof(BITMAPINFOHEADER),1,fp);//读取BMP文件头文件信息 w=bi.biWidth; //获取图像的宽 h=bi.biHeight; //获取图像的高 bitSize=bi.biSizeImage; //获取图像的size buf=(char*)malloc(w*h*3); //分配缓冲区大小 fseek(fp,long(sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)),0);//定位到像素起始位置 fread(buf,1,w*h*3,fp); //开始读取数据 wnd=GetForegroundWindow(); //获取窗口句柄 dc=GetDC(wnd); //获取绘图设备 int x=40; int y=40; p=buf; for(int j=0;j<h;j++) { for(int i=0;i<w;i++) { b=*p++;g=*p++;r=*p++; pix=RGB(r,g,b); SetPixel(dc,x+i,y+h-j,pix); } } fpw=fopen("LenaSaved.bmp","wb"); fwrite(&bf,sizeof(BITMAPFILEHEADER),1,fpw); //写入文件头 fwrite(&bi,sizeof(BITMAPINFOHEADER),1,fpw); //写入文件头信息 p=buf; for(int j=0;j<h;j++) { for(int i=0;i<w*3;i++) { fwrite(p++,1,1,fpw); } } fclose(fpw); fclose(fp); //return fp; } ```

出现ld returned 1 exit status大神们能否解救我?

#include<iostream> using namespace std; class Cargo { private: double weight; double price; public: int no;//序号 Cargo *next; static double totalweight; static double totalprice; Cargo(double weight, double price, int no){ this->no=no; this->weight=weight; this->price=price; totalweight+=this->weight; totalprice+=this->price; } ~Cargo(){ totalweight-=weight; totalprice-=price; } }; class CargoHouse { private: double w; double p; int no;//序号 Cargo *data,*head; public: CargoHouse(){ data=head; head=NULL; } void in(){ cin>>w;cin>>p;cin>>no; Cargo *k=new Cargo(w,p,no); k->next=data; data=k; } void out(int n){ Cargo *q=data; Cargo *h=head->next; while(h){ if(h->no==n) { q->next=h->next; delete h; } else { q=h; h=h->next; } } cout<<"没有"; } }; int main() { CargoHouse thing1; thing1.in(); return 0; }

会 [Error] ld returned 1 exit status 哪里错了

#include<iostream> using namespace std; int mian() { char name[5]; cout<<"input your name"<<endl; cin.getline(name, 5);//可处理空行,读取为一个空白字符串 cout<<"you name is"<<name<<endl; cin.getline(name,5);//只能读取4个字符,超出将设置failbit并终端输入,剩余部分留在输入流中 cout<<"you name is"<<name<<endl; if(cin.failbit) cin.clear();//恢复输入 cin.getline(name,5); cout<<"you name is"<<name<<endl; return 0; } ``` ```

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

为什么本科以上学历的人只占中国人口的5%,但感觉遍地都是大学生?

中国大学生占总人口不到5% 2017年,中国整体的本科率仅有5.9%;如果算上研究生,这一比例可以进一步上升到6.5% 为什么在国家统计局推出的这份年鉴中,学历的最高一阶就是到研究生,而没有进一步再统计博士生的数量的。 原因其实并不难理解,相比全国和各省整体人口体量,博士生的占比非常之低,属于绝对意义上的小概率样本。 这一点,我们从上表中的各省研究生占比情况也可以看出端倪。除北京、天津、上海三...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

程序员写出这样的代码,能不挨骂吗?

当你换槽填坑时,面对一个新的环境。能够快速熟练,上手实现业务需求是关键。但是,哪些因素会影响你快速上手呢?是原有代码写的不够好?还是注释写的不够好?昨夜...

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

记录下入职中软一个月(外包华为)

我在年前从上一家公司离职,没想到过年期间疫情爆发,我也被困在家里,在家呆着的日子让人很焦躁,于是我疯狂的投简历,看面试题,希望可以进大公司去看看。 我也有幸面试了我觉得还挺大的公司的(虽然不是bat之类的大厂,但是作为一名二本计算机专业刚毕业的大学生bat那些大厂我连投简历的勇气都没有),最后选择了中软,我知道这是一家外包公司,待遇各方面甚至不如我的上一家公司,但是对我而言这可是外包华为,能...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

6年开发经验女程序员,面试京东Java岗要求薪资28K

写在开头: 上周面试了一位女程序员,上午10::30来我们部门面试,2B哥接待了她.来看看她的简历: 个人简历 个人技能: ● 熟悉spring mvc 、spring、mybatis 等框架 ● 熟悉 redis 、rocketmq、dubbo、zookeeper、netty 、nginx、tomcat、mysql。 ● 阅读过juc 中的线程池、锁的源...

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

文章目录1. 无状态登录1.1 什么是有状态1.2 什么是无状态1.3 如何实现无状态1.4 各自优缺点2. 登录交互2.1 前后端分离的数据交互2.2 登录成功2.3 登录失败3. 未认证处理方案4. 注销登录 这是本系列的第四篇,有小伙伴找不到之前文章,松哥给大家列一个索引出来: 挖一个大坑,Spring Security 开搞! 松哥手把手带你入门 Spring Security,别再问密...

立即提问