-1
我該如何比較C中的2位數字並找到我的程序中每個長度的交集?我有以下代碼,但我不確定爲什麼它是段錯誤。我想要做的是比較兩個數字,看看每個數字是否相互匹配。如果他們這樣做,他們會設置數字相同的數字,但如果他們不同,它會將該數字設置爲0. 例如,如果我有number1 = 2421和number2 = 2412那麼返回的數字將是2400.如何找到C中的2個long的交集?
long set_intersect(long number1, long number2)
{
int count=0;
char setone[18],settwo[18];
int final[18];
long countone,counttwo;
while((number1) && (number2))
{
countone = number1 %10;
setone[count] = countone;
counttwo = number2% 10;
settwo[count] = counttwo;
number1 = number1/10;
number2 = number2/10;
count++;
}
for(int i= 0 ; i< count; i++)
{
if(setone[i] == settwo[i])
{
final[i] = setone[i];
}
else
{
final[i] = 0;
}
}
for(i=0 ; i < count ; i++)
{
printf("%i\n",final[i]);
}
}
所以在編輯代碼後,代碼不會打印出正確的交點。代碼中還有其他什麼會導致這種情況? – WasabiCannon
也許吧。取決於「正確」的含義。我想如果你給123356和12345打印出123050.那是「正確的」嗎? – paddy
是的,這是正確的 – WasabiCannon