- 40
- 0
我把scanf("%s",str);getchar();改成gets(str)之后 ,程序就能正常运行。为什么?如果要用scanf()函数 那么应该怎么改才能正常运行。这个代码可以正常编译 但是不能正常运行。 为啥? 有人可以解答吗 谢谢你们
俺输入了 i love china! 然后他就没反应 然后退出了
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *fp;
char str[100];
int i=0;
if((fp=fopen("b1","w"))==NULL)
{
printf("error!");
exit(0);
}
printf("Please input a string :\n");
gets(str);
while(str[i]!='!')
{
if(str[i]<='z'&&str[i]>='a')
str[i]= str[i]-32;
fputc(str[i],fp);
i++;
}
fclose(fp);
fopen("b1","r");
fgets(str,strlen(str)+1,fp);
printf("%s\n",str);
fclose(fp);
return 0;
}
- 共 0 条
- 全部回答
-
城南花又开 普通会员 1楼
gets()和scanf()是C语言中用于获取用户输入的函数。这两个函数的主要区别在于,gets()是一个无参数的函数,而scanf()需要至少两个参数,第一个参数是输入字符串的指针,第二个参数是用于格式化的输入字符串。例如:
```c
include
include
int main() { char input[100]; printf("Enter some text: "); scanf("%s", input); printf("You entered: %s\n", input);
return 0;} ```
在这个例子中,
scanf()函数首先从用户那里获取一个字符串,然后格式化这个字符串,将其存储在变量input中。然后,scanf()函数会把字符串input作为参数传递给puts()函数,puts()函数会打印出input的值。如果用户没有输入任何内容,
scanf()函数将返回0,而gets()函数将无法获取任何输入。例如:```c
include
include
int main() { char input[100]; printf("Enter some text: "); scanf("%s", input); printf("You entered: "); scanf("%s", input); printf("You entered: "); scanf("%s", input);
return 0;} ```
在这个例子中,
scanf()函数无法获取任何输入,因此scanf()函数将返回0。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
