對于每組輸入,原樣輸出輸入的內容。
#include <stdio.h>
#include<string.h>
int main()
{
char s[10][20];
int T,i;
scanf("%d",&T);
getchar();
for(i=0;i<T;i++)
{
gets(s[i]);
}
for(i=0;i<T;i++)
{
printf("%s\n",s[i]);
}
}
uj5u.com熱心網友回復:
C語言bai里的gets()函式功能是從輸入快取中讀取多個字符du,遇到回車符時,結束zhi輸入。當使用gets()函式之前有過dao資料輸入,并且,操作者輸入了回車確認,這個回車符沒有被清理,被保存在輸入快取中時,gets()會讀到這個字符,結束讀字符操作。因此,從用戶表面上看,gets()沒有起作用,跳過了。解決辦法:方法一、在gets()前加fflush(stdin); //強行清除快取中的資料(windows下可行)方法二、根據程式代碼,確定前面是否有輸入陳述句,如果有,則增加一個getchar()命令,然后再呼叫 gets()命令。方法三、檢查輸入結果,如果得到的字串是空串,則繼續讀入,如:char str[100]={0};do { gets(str);} while( !str[0] );轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/155518.html
標籤:新手樂園
下一篇:想問一下這個程式為什么無法運行
