Linux下gets无法使用

如下代码,GCC无法编译:

#include <stdio.h>
#include <string.h>
int main()
{
    char str[200],ch;
    char *p,*q;
    gets(str);
    //fgets(str,200,stdin);
    p=str;
    q=p+strlen(p) -1;
    while(p<q)
    {
        ch=*p;
        *p++=*q;
        *q--=ch;
    }
    printf("%s\n",str);
}
error: ‘gets’ was not declared in this scope
     gets (str);
     ^~~~

解决办法:

fgets(str,字符串最大长度n,stdin);

#include <stdio.h>
#include <string.h>
int main()
{
    char str[200],ch;
    char *p,*q;
    fgets(str,200,stdin);
    p=str;
    q=p+strlen(p) -1;
    while(p<q)
    {
        ch=*p;
        *p++=*q;
        *q--=ch;
    }
    printf("%s\n",str);
}
I am very shengqi

iqgnehs yrev ma I
发布了74 篇原创文章 · 获赞 27 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_37507976/article/details/89218376
今日推荐