1. main 函數沒有回傳值,預設為 int
把
main ()
改為
int main()
不管是什麼函數,就算是沒有回傳值,都必需要寫他的回傳類型
2. 你使用了 printf,但沒有在一開始寫 #include<stdio.h>
在某些平台上會直接無法編譯這個程式
3. 這個 worksheet 本身就只有一筆測資,每筆 1 分,所以已經是滿分了
助教您好
我是資工21號的李昌鴻
請問那要同時用<stdio.h>跟<math.h>時該怎麼辦呢??
不好意思麻煩您
謝謝
-----
分別在不同行打上 #include <stdio.h> 和 #include <math.h>
像這樣:
#include<stdio.h>
#include<math.h>
int main(){}
On Sep 17, 8:51 am, 逼玖玖玖零貳零陸柒 <bill8...@gmail.com> wrote:
> 既然沒有回傳值
> 需要寫return嗎?
---
是指這個 scanf 函數的函數值被忽略
因為我們沒有需要用到它的回傳值
所以不管這個也沒關係
大部份時間我們也很少用到它
針對上一個問題,我在執行程式時是可以的,但po上去是0分
問題如下
source.c: In function ‘main’:
source.c:5: warning: ignoring return value of ‘scanf’, declared with
attribute warn_unused_result
source.c:6: warning: ignoring return value of ‘scanf’, declared with
attribute warn_unused_result
On Sep 17, 10:18 pm, r99944...@ntu.edu.tw wrote:
> 助教你好,請問有辦法不讓google groups的訊息寄到信箱嗎?
>
> 因我會固定上group去看。謝謝。
>
> 引述 曹佐碩 <realtur...@gmail.com>:
2. 如果你是指 Worksheet3.3 的話
你只印數字並不符合題目要求
需要印出類似下面這行的輸出
The number of days in 2009/9 is 30.
而不是一個單純的 "%d"
你可以試試看 printf("%d Hello there %d \n", 15, 20);
應該會有所幫助
常常會有很多程式沒過的原因是輸出格式不合
請多注意
3. 這個警告
warning: ignoring return value of 'scanf', declared with attribute
warn_unused_result
通常不是造成程式錯誤的原因,除非你讀取測資的格式和輸入不合
例加 int a; scanf("%d", &a); 題目卻給英文字母 a 之類
On Sep 17, 10:29 pm, "a1991103...@hotmail.com.tw"
from i to j, where i < j. 並假設輸入第一個就是 i, 第二個是 j
#include <stdio.h>
main(){
int array[20], n = 0;
int i;
while( scanf("%d", &array[n]) == 1)
n ++ ;
for(i=0; i<n; i++)
process array[i];
}
使用檔案輸入在上次上課的投影片裡
dev-c 設定路徑: http://ppt.cc/NB!(
http://www.csie.ntu.edu.tw/~r98922165/C20100923.ppt
http://www.csie.ntu.edu.tw/~r99922038/gvim.pptx
> 上課時有提到的如何讀一個未知長度的陣列如下:
>
> #include <stdio.h>
> main(){
> int array[20], n = 0;
> int i;
> while( scanf("%d", &array[n]) == 1)
> n ++ ;
> for(i=0; i<n; i++)
> process array[i];
> }
>
但是dev-c++偵錯說process是還沒宣告的函數?
process array[i];這行的意思是:
1. 未知長度的陣列array[]已經在前一個迴圈讀取完畢
2. 可以在process array[i];這行的位置開始處理已經讀進來的陣列
我把之前的例子修稍微改,希望可以變得更容易理解:
#include <stdio.h>
main(){
int array[20], n = 0;
int i;
while( scanf("%d", &array[n]) == 1)
n ++ ;
/*
未知長度的陣列array[]已經在前一個迴圈讀取完畢
從這裡開始撰寫處理array[]的程式碼
*/
}