-2
我想從我在鍵盤中引入的數組中提取數字並將其轉換爲一個整數。我的代碼是:從數組和程序中提取整數值而不顯示printf函數
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
int r, t, i;
char expressio[t];
char vector[50];
char rpn[t][4];
printf("Introduce the expresssion");
fgets(expressio, t, stdin);
t = strlen(expressio);
for (i = 0; i <= t; i++) {
if (isdigit(expressio[i])) {
r = atoi(expressio[i]);
vector[i] = rpn[0][r];
}
return 0;
}
}
我有這樣的警告:
過客 '的atoi' 的參數1,使指針從整數沒有投
我該如何解決呢?
另外,當我執行這個程序時,它什麼也不做,它甚至不打印「引入表達式」。這是爲什麼發生?
請啓用編譯器警告並處理它們,就好像錯誤! 't'未定義。請查看'atoi'的手冊頁。 –
嘗試使用'-Wall -O2'參數構建代碼,它會向您顯示更多4條警告,您應該在開始思考爲什麼代碼無法正常工作之前應該修復這些警告。至於'atoi()'警告 - 看看[man atoi](http://linux.die.net/man/3/atoi):它希望你提供一個**指針**給'const char' (即字符串),但是你用'char'來代替它。 –
看着循環,你不小心把它的回報,從而退出你的程序。而你沒有看到「引入表達式」的原因是因爲c中的輸出存儲在一個名爲stdout的FILE中,它只在刷新時更新,stdout通常用換行刷新或在程序退出時刷新。嘗試添加\ n來引入表達式,以便在運行時查看它,而不是在程序結束後查看 –