#29088: 請問各位一直輸入直到 ' # ' 要如何寫


zoosewu (lion)

學校 : 臺北市立中正高級中學
編號 : 114560
來源 : [36.229.202.139]
最後登入時間 :
2025-04-08 21:55:51

char a[1000];

while((cin>>a) != '#')

這樣寫的話,好像不能編譯,有人可以教一下嗎

#29092: Re:請問各位一直輸入直到 ' # ' 要如何寫


zoosewu (lion)

學校 : 臺北市立中正高級中學
編號 : 114560
來源 : [36.229.202.139]
最後登入時間 :
2025-04-08 21:55:51

char a[1000];

while((cin>>a) != '#')

這樣寫的話,好像不能編譯,有人可以教一下嗎

改成這樣 while((scanf("%s",&a)) != '#') 好像就可以編譯了,我想請問大神差別是甚麼

#29101: Re:請問各位一直輸入直到 ' # ' 要如何寫


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.12.66.21]
最後登入時間 :
2025-04-20 17:19:22

char a[1000];

while((cin>>a) != '#')

這樣寫的話,好像不能編譯,有人可以教一下嗎

 

while(cin>>a && strcmp(a,"#")!=0)
#29102: Re:請問各位一直輸入直到 ' # ' 要如何寫


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.12.66.21]
最後登入時間 :
2025-04-20 17:19:22

char a[1000];

while((cin>>a) != '#')

這樣寫的話,好像不能編譯,有人可以教一下嗎

改成這樣 while((scanf("%s",&a)) != '#') 好像就可以編譯了,我想請問大神差別是甚麼


cin回傳的是物件本身,而scanf回傳的是參數的數量(int),剛好可以和字元比較,所以可以編譯,但是如果輸入#迴圈還是不會停止,因為#是35