-2
我不明白爲什麼這不會在Visual Studio 2012爲什麼我的程序會崩潰(C++)?
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
char nullChar()
{
char ch;
int ran = (rand() % 52);
if (ran < 26)
{
ch = (char) ('a'+ ran);
}
else
{
ch = (char) ('A'+ ran - 26);
}
return ch;
}
int main(int argc, char *argv[])
{
cout << "Enter a string";
int nullNum = 0;
nullNum = atoi(argv[2]);
if (strcmp(argv[1], "-d") == 0)
{
int count = -1;
do
{
int c = cin.get();
count++;
if(count == nullNum)
{
cout.put(c);
count = -1;
}
} while (!cin.eof()) ;
}
if(strcmp(argv[1], "-e") == 0)
{
char c = cin.get();
while(!cin.eof())
{
for (int i = -1; i < (nullNum-1); ++i)
{
cout << nullChar();
}
cout << c;
c = cin.get();
}
}
}
正常運行的代碼編譯完美。我懷疑一個循環中的東西,但我無法弄清楚。我也認爲它幾天前完美運行,但現在不是。那可能嗎?
你試過使用調試器嗎?並且你如何運行程序...例如,你提供至少兩個命令行參數,對吧? – trojanfoe
「不能正常運行」是對問題的完全無用的描述。輸出是否錯誤?它是否陷入了無限循環?它是否會崩潰,如果是這樣,有什麼信息?給我們一些東西在這裏工作。我不會告訴你一張汽車的照片,並說「爲什麼不開始?」。 –
錯誤是什麼?什麼是你正在調用你的程序的論點? –