0
我試圖輸入no個測試用例(t),並且n次輸入一個字符串並處理它。這是我試過的代碼:如何在c中使用scanf()輸入一個字符串n次數
char str[10000];
int size,flag,i,t;
scanf("%d",&t);
while(t--){
gets(str);
flag=1;
size=0;
while(str[size]!='\0') size++;
if(size<2) flag=0;
for(i=0;i<size/2;i++)
if(abs(str[i+1]-str[i])!=abs(str[size-i-1]-str[size-i-2])) flag=0;
if(flag) printf("Funny\n");
else printf("Not Funny\n");
}
也很到位使用得到的,我也試過:
scanf("%[^\t\n]s",str);
但似乎沒有任何工作
此代碼假設測試什麼?你得到的輸出/錯誤是什麼? –
不要使用'gets'--這是一種可怕的習慣。使用具有明確緩衝區大小的'fgets'。 –
from gets手冊:'不要使用gets()。因爲事先不知道數據是不可能知道get()將讀取多少個字符的,並且因爲gets()會繼續存儲超過緩衝區末尾的字符,所以使用它非常危險。它已被用來破壞計算機安全。使用fgets()代替.' –