C语言关于gets的问题(输入出现了问题)

2021-03-01 13:46:55 字数 536 阅读 1425

1楼:六翼幻世

输入n的时候的回车被gets(a)收到了,然后你认为输入a的时候的内容,被m接收了

gets()和scanf()不同gets()将回车之前的专字符全部取走,之后将属回车变成’\0’并且取走;

如果scanf()后面紧跟gets()那么要在两个之间加入getchar()取走回车

如scanf("%c",&n);

getchar();

gets(str);

2楼:夏天的小红花

这是由于抄程序在读取数字时只读取了前bai面的数字du部分,而把后面的回车符留zhi在了键盘缓dao冲区,所以在下面读取字符串时遇到这个回车符就结束了,也就是说程序读到了一个空的字符串。另外,在下面复制字符串的时候并没有复制字符串的结束符。下面的**改正了这些问题。

#include

#include

int main()

b[j]='\0';

printf("%s",b);

return 0; //有更改}

关于switch语句的使用问题,关于C语言问题中switch语句的使用问题

1楼 下海的孤魂 switch结构里少了default语句。 应该如下这样,所有case完成后,最下面加上一个default。 以后请教大家时,出错信息里把行数也拷贝上来,可以更快地看出问题出在 。比如 warning c4060。。。 之前,应该还有出错的行数信息的。 switch int a 1...

求问下大神,C语言指针问题,大神大神,赐教啊,关于C语言指针问题。

1楼 阳光的雷咩咩 从声明可知l本身是指针类型,整个函数都是对l为头结点的链表做操作 要从函数内部改变函数参数的值,一般要用指针,这也就是为何initlist要用二级指针的原因。这个值得深入理解,我认为真正的难点在这里。 而不是后面传l为何起作用,这是你问的地方 2楼 匿名用户 不太明白你说的啥 能...

c语言题:输入字符,输出对应的ascii码,直到输入q或

1楼 我是不是师兄 你想输入之后就输出结果吗 应该是这样 include include int main void while ch q ch q 这里你写错了 写成ch q return 0 q 恒为0 所以不会循环 2楼 匿名用户 对照着改 吧 include include int main...