2014-09-05 53 views
-1

我試圖打印從1到20的所有數字的立方體(n )。我想知道在我的代碼如何評估C編程中for循環的表達式?

printf("Enter an integer value\n"); 

是必要的。這條線的目的是什麼?有人可以解釋嗎?謝謝。這是我第一天學習C.

#include <stdio.h> 
#include <stdlib.h> 

/* 
* 
*/ 
int main(int argc, char** argv) 
{ 
    int num; 
    printf("Enter an integer value\n"); 
    scanf("%d", &num); 
    for (num=1; num<21; num++){ 
     printf("The cube of %d is %d\n", num, num*num*num); 
    } 
    getchar(); 
} 
+3

你谷歌'printf'?請參閱[printf(3)](http://man7.org/linux/man-pages/man3/printf.3.html) – 2014-09-05 05:30:27

+1

並且由於您正在開始學習C:在編譯器中啓用所有警告和調試信息(例如,如果使用[GCC](http://gcc.gnu.org/),使用'gcc -Wall -g'進行編譯和**現在學** * * **如何使用調試器**(例如'gdb')。 – 2014-09-05 05:32:43

+0

@BasileStarynkevitch或者只是使用Visual Studio並切換到調試 – 2014-09-05 05:33:34

回答

0

它不適用於你的代碼中的任何東西。

你所得到的變量num但你很快for (num=1 ...

如果你想把它當作一個有用你可以做類似的事情而忽略它:

int num, i; 
printf("Enter an integer value\n"); 
scanf("%d", &num); 
for (i=1; i<num; i++){ // print the cube of all numbers less than the entered value 
    printf("The cube of %d is %d\n", i, i*i*i); 
} 
getchar(); 

否則,你可以刪除那兩行代碼:

printf("Enter an integer value\n"); 
scanf("%d", &num); 
2

這是沒有意義的

printf("Enter an integer value\n"); 
scanf("%d", &num); 

它只是顯示信息和讀取鍵盤的價值,但在for循環
當你將1至變量NUM然後以前NUM替代的價值。

0

line printf(「輸入整數值\ n」);

顯示寫着「輸入整數值」的程序的用戶,

在代碼旁邊線已經沒有什麼意義,在這裏你要求用戶輸入一個整數,然後保存這個數字:

printf("Enter an integer value\n"); 
scanf("%d", &num); 

,因爲在接下來的行設置參數NUM爲1

這一個碼掃描用戶輸入,然後計算出立方體:

int main(int argc, char** argv) 
{ 
    int num; 
    printf("Enter an integer value\n"); 
    scanf("%d", &num); 
    printf("The cube of %d is %d\n", num, num*num*num); 
} 
3

通過使用printf()您正在打印msg「輸入整數值」。 通過使用scanf()你正在服用哪些你在屏幕上輸入的數值爲num變量(即初始化num)。但在for循環您重新初始化您num變量設置爲「1」到「21」。所以printf()scanf()只是浪費時間,在這裏。

如果你想有一個具體的數字魔方,然後就去做如下,

#include <stdio.h> 
#include <stdlib.h> 
void main() 
{ 
    int num; 

    printf("Enter an integer value\n"); 
    scanf("%d", &num); 

    printf("The cube of %d is %d\n", num, num*num*num); 

    getchar(); 
}