回答編集履歴
2
再修正
    
        answer	
    CHANGED
    
    | 
         @@ -4,11 +4,11 @@ 
     | 
|
| 
       4 
4 
     | 
    
         
             
            もう一つ、Cでは特に指定しない場合、静的寿命をもつ変数(グローバル変数やstatic属性の変数)はプログラム開始前に0に初期化されることに決まっています。一方、動的な変数の初期値は特に指定しない限り「不定」です。不定とういのは、なんだかわからない値という意味ではなく、変数が生成されるときに特定の値を持っていることを期待できないということ。0かも、1000かも、-1億かも...
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            警告メッセージは、
         
     | 
| 
       7 
     | 
    
         
            -
            最初の`return type defaults to ‘int’`は、Cの規格上mainのシグニチャは
         
     | 
| 
      
 7 
     | 
    
         
            +
            最初の`return type defaults to ‘int’`は、~~Cの規格上mainのシグニチャは
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 8 
     | 
    
         
            +
            int main(void)
         
     | 
| 
       9 
9 
     | 
    
         
             
            int main(int , int)あるいはそれとtypedef等で等価なもの
         
     | 
| 
       10 
10 
     | 
    
         
             
            コンパイラが許すもの
         
     | 
| 
       11 
11 
     | 
    
         
             
            となっていて、標準的な前者二つに合致してないけどいいの? というプロンプトです。~~
         
     | 
| 
       12 
     | 
    
         
            -
            戻り値の型が省略されてるからint型が返るということにするからね、ということ。
         
     | 
| 
      
 12 
     | 
    
         
            +
            戻り値の型が省略されてるからint型が返るということにするからね、ということ。(なんでエラーにせずそうするかというと歴史的な経緯です)
         
     | 
| 
       13 
13 
     | 
    
         
             
            `warning: ‘s’ is used uninitialized in this function`は、
         
     | 
| 
       14 
14 
     | 
    
         
             
            前述のように「不定」の値を参照しているので、その結果もまた不定だけどそれで大丈夫? ということです。
         
     | 
1
誤り修正
    
        answer	
    CHANGED
    
    | 
         @@ -5,9 +5,10 @@ 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            警告メッセージは、
         
     | 
| 
       7 
7 
     | 
    
         
             
            最初の`return type defaults to ‘int’`は、Cの規格上mainのシグニチャは
         
     | 
| 
       8 
     | 
    
         
            -
            int main(void)
         
     | 
| 
      
 8 
     | 
    
         
            +
            ~~int main(void)
         
     | 
| 
       9 
9 
     | 
    
         
             
            int main(int , int)あるいはそれとtypedef等で等価なもの
         
     | 
| 
       10 
10 
     | 
    
         
             
            コンパイラが許すもの
         
     | 
| 
       11 
     | 
    
         
            -
            となっていて、標準的な前者二つに合致してないけどいいの? というプロンプトです。
         
     | 
| 
      
 11 
     | 
    
         
            +
            となっていて、標準的な前者二つに合致してないけどいいの? というプロンプトです。~~
         
     | 
| 
      
 12 
     | 
    
         
            +
            戻り値の型が省略されてるからint型が返るということにするからね、ということ。
         
     | 
| 
       12 
13 
     | 
    
         
             
            `warning: ‘s’ is used uninitialized in this function`は、
         
     | 
| 
       13 
14 
     | 
    
         
             
            前述のように「不定」の値を参照しているので、その結果もまた不定だけどそれで大丈夫? ということです。
         
     |