有两个问题,恳请路过的大佬帮忙看一下,谢谢。 以下为问题描述,问题一共两个: 1.全代码如下,其中第74行的true为调试时进行的改动,经本人测验,第74行以下的代码无误,但是当第74行改为调用Address_Checker(char Input_Address[]) 这个函数时,由原本的55分变成了5分。
//#pragma GCC optimize(3)
#include <bits/stdc++.h>
using namespace std;
const int Max_Sizeof_op = 6;
const int Max_Sizeof_ad = 25;
inline bool Parameter_Checker(char Input_Str[], int Parameter_Limit) {
if(Input_Str[0] == '0')
return false;
int Num_Str = 0;
int Strlen = strlen(Input_Str);
for(int i = 0; i < Strlen; i++)
Num_Str += Input_Str[i] * pow(10, Strlen - i);
if((Num_Str < 0) or (Num_Str > Parameter_Limit))
return false;
return true;
}
const int Max_Length_Parameter = 20;
inline bool Address_Checker(char Input_Address[]) {
char Parameter [5][Max_Length_Parameter];
char Correct_Sign_Set [5] {'.', '.', '.', ':'};
char Scanned_Sign_Set [5];
register int Scanned_tag_Par = 0;
register int Scanned_tag_Sign = 0;
register int var_rep = 0;
int Length_Address = strlen(Input_Address);
//!-------------------------------------------------------------------
for(int i = 0; i < Length_Address; i++) {
if(Input_Address[i] == '.' or Input_Address[i] == ';') {
Scanned_Sign_Set [Scanned_tag_Sign] = Input_Address[i];
Scanned_tag_Sign++;
Scanned_tag_Par ++;
var_rep = 0;
continue;
}
Parameter [Scanned_tag_Par][++var_rep] = Input_Address[i];
}
//------------------------------------------------------------------
if(strcmp(Scanned_Sign_Set, Correct_Sign_Set) == true)
return false;
//------------------------------------------------------------------
int Parameter_Limit[5] {255, 255, 255, 255, 65535};
for(int i = 0; i < Scanned_tag_Par; i++) {
if(Parameter_Checker(Parameter[i], Parameter_Limit[i]) == false)
return false;
}
//------------------------------------------------------------------
return true;
}
inline void CCF2021_CSP_J2_T3() {
int n;
cin >> n;
#if false
n = 1;
#endif
#define op Connector_Type
#define ad Address
char Connector_Type [Max_Sizeof_op + 1];
char Address [n][Max_Sizeof_ad + 1];
int Correct_Server_Address_set [n];
int set_Searcher_tag = 0;
#define csas Correct_Server_Address_set
#define sst set_Searcher_tag
for(register int i = 0; i < n; i++) {
cin >> Connector_Type;
cin >> Address[i];
if(true) {
if(strcmp(Connector_Type, "Server") == false) {
for(register int j = 0; j < sst; j++) {
if(strcmp(Address[i], Address[csas[j]]) == false) {
cout << "FAIL" << endl;
goto leap;
}
}
cout << "OK" << endl;
Correct_Server_Address_set [sst] = i;
set_Searcher_tag++;
goto leap;
}
if(strcmp(Connector_Type, "Client") == false) {
for(register int j = 0; j < sst; j++) {
if(strcmp(Address[i], Address[csas[j]]) == false) {
cout << csas[j] + 1 << endl;
goto leap;
}
}
cout << "FAIL" << endl;
goto leap;
}
}
cout << "ERR" << endl;
leap:;
}
}
int main() {
//ios::sync_with_studio(false);
//freopen("network.in" , "r", stdin );
//freopen("nerwork.out", "w", stdout);
CCF2021_CSP_J2_T3();
return 0;
}
2.如图所示的编译警告是由什么引起的