#2486: c 的解法


B98902055 (LOGO)


#include<stdio.h>

int main(){
   char s[0];
   while(scanf("%s",&s)){
      printf("hello, %s\n",s);
   }    
   return 0;   


}

 

為什麼這樣不會過呢?

這個跟範例解C++不是同意的嗎?

 

#2487: Re:c 的解法

Unknown User


#include

int main(){
   char s[0];
   while(scanf("%s",&s)){
      printf("hello, %s\n",s);
   }    
   return 0;   


}

 

為什麼這樣不會過呢?

這個跟範例解C++不是同意的嗎?

 

char s[0]; ............
#2494: Re:c 的解法


B98902055 (LOGO)


其實問題不是在s[0]

 我已經問到了

 

是因為c裡面eof的回傳值是-1   cpp的回傳值是0

所以才會造成迴圈無法跳出

 

只要加上&& >0  這樣就可以了

#2496: Re:c 的解法


tiancaihb (伪红学家)


最好的方法还是while(scanf(...)!=EOF)
#2497: Re:c 的解法

Unknown User


其實問題不是在s[0]

 我已經問到了

 

是因為c裡面eof的回傳值是-1   cpp的回傳值是0

所以才會造成迴圈無法跳出

 

只要加上&& >0  這樣就可以了

用 s[0] 明明就會有問題  不要硬凹    多看書
#2558: Re:c 的解法


B98902055 (LOGO)


= ="我沒有在硬ㄠ的意思

因為我那時候改成10好像也沒有對所以我以為問題不在那  恩

 為什麼輸入0的時候自己測試也能對呢?