-3
爲了解決我在創建可以加密和解密字符的字符串(輸入)的程序時遇到的問題,我決定創建另一個名爲「char passb [81]」的數組「在c中使用&符號
這個新數組的目的是存儲輸入的相應大寫字符。這些字符將被用於我的程序的其他部分。我已經包含下面的代碼。
int plength;
char pass[81];
printf("Please enter passphrase: \n");
scanf("%s", &pass);
plength=("%d", strlen(pass));
{
char passb[81];
int p;
for (p=0; p<plength; p++)
{
if(pass[p] >= 97 && pass[p] <= 122)
{
return((pass[p]-32), &passb);
}
else if (pass[p] >= 65 && pass[p] <= 90)
{
return((pass[p]), &passb);
}
}
printf("\n");
}
當我嘗試編譯我的程序,我得到了以下錯誤消息:
test2.c: In function ‘main’:
test2.c:50:6: warning: return makes integer from pointer without a cast
return((pass[p]-32), &passb);
^
test2.c:50:6: warning: function returns address of local variable [-Wreturn- local-addr]
test2.c:54:6: warning: return makes integer from pointer without a cast
return((pass[p]), &passb);
^
test2.c:54:6: warning: function returns address of local variable [-Wreturn-local-addr]
我能做些什麼來解決這個問題呢?任何捐款和迴應將不勝感激。
爲什麼你想使用'return'作爲功能? – Linus
它看起來像你試圖返回2個值('返回((通過[p] -32),&passb);')這是沒有意義的C。 – hexasoft
我不太明白你想要做什麼'return((pass [p] -32),&passb);'...是否返回你定義的函數?如果不是,那麼這條線不會做任何你認爲它所做的事情。 –