我的代碼現在有一些嚴重的問題。該任務是編寫一個接受4位整數的函數,對其進行加密並返回新加密的數字。代碼在編譯後返回相同的東西嗎?
出於某種原因,我的代碼在編譯完成後返回完全相同的東西(編號爲1886676324)。它甚至沒有閱讀cout聲明。有人可以看一看,看看有什麼不對嗎?
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int numSwap(int A[])
{
int t;
int encryptedVal= 0;
for(int i =0; i<4; i++)
{
if((i == 0)|(i == 1)){
A[i+2] = t;
A[i+2] = A[i];
A[i] = t;
}
encryptedVal = (A[i] * 10^(3-i)) + encryptedVal;
}
return encryptedVal;
}
int encrypt(int N)
{
int A[4];
for(int i =0; i<4; i++)
{
div_t M = div(N,(10^(3-i)));
div_t Encrypted = div(7+M.quot,10);
A[i] = Encrypted.rem;
N= M.rem;
}
return numSwap(A);
}
int main()
{
int UserVal;
cout<< 'Please input the 4 digit value to be encrypted' <<endl;
cin>>UserVal;
encrypt(UserVal);
return 0;
}
歡迎來到Stack Overflow!要求人們發現代碼中的錯誤並不是特別有效。您應該使用調試器(或添加打印語句)來隔離問題,然後構造一個[最小測試用例](http://sscce.org)。 – 2013-02-17 21:32:20
'^'不是爲了提高權力。它按位異或。 – 2013-02-17 21:32:38
「它甚至沒有閱讀cout聲明。」 - 這是什麼意思? – 2013-02-17 21:33:34