此代码是 C/C++,运行时不会出现警告或调试消息。我在 GNU GCC 编译器中使用 Code::blocks。这个应用程序曾经完美地运行过,然后在我没有注意到的情况下搞砸了。现在每次它都会允许输入一个ip地址,但随后会冻结并关闭。为什么?
#include <iostream>
#include <string>
#include <cstdio>
using namespace std;
int ip[3];
char * inputIP;
int x;
string classValue;
void subnetClass()
{
if (x==0) classValue="Error: first octet may not be zero.";
if (x>0 && x<=126) classValue="Class A";
if (x==127) classValue="Loopback Address";
if (x>=128 && x<=191) classValue="Class B";
if (x>=192 && x<=223) classValue="Class C";
if (x>=224 && x<=239) classValue="Class D";
if (x>=240 && x<=255) classValue="Class E";
if (x>255) classValue="Error: an octet may not be more than 255.";
cout << classValue << endl;
}
int main()
{
cout << "Enter IP address in dotted-decimal form." << endl;
cin >> inputIP;
scanf(inputIP, "%d.%d.%d.%d" , &ip[0],&ip[1],&ip[2],&ip[3]);
int x=ip[0];
subnetClass();
return 0;
}
构建日志:
检查是否存在:C:...\IP subnetting app\bin\Debug\IP subnetting app.exe
执行:“C:...\CodeBlocks/cb_console_runner.exe”“C:...\IP subnetting app\bin\Debug\IP subnetting app.exe”(在 C:...\IP subnetting app.)
进程以 -1073741510 状态终止(0 分 27 秒)