扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
所以在你图中代码char c[5][20];c[i]就表示一行字符串的首地址。同理s数组也是。所以当输入c和s数组,用c[i],s[i]做参数,不要加&,直接写scanf(%s%s,c[i],s[i])就可以了。
公司主营业务:成都做网站、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出双流免费做网站回馈大家。
可以使用清理输入流fflush(stdin);这个原因是因为错误输入的内容会保留在输入流,下一次判断会从输入流开始读取,因为错误输入的内容还在,所以直接判断错误,继续循环。但有些编译器并不支持清理输入流。
j = 0;不应该放在while的开始,应该放在i++后面。你这样只把数据放到j=0的位置了。
scanf函数输入完成需要一个回车,getchar接收的是一个字符。要么就是你输入的内容放入字符串中然后逐个比较。要么你可以getchar每一个字符,然后转化成ascii码,通过判定数值区间来判定输入的字符是否为数字。
朋友,你没有加输入分隔符,空格,逗号都可以,你加上试试如果有其他错再说。
多写一个getch();应该就可以了。因为scanf_s(%s,s);后,留下了一个回车符,会被getch()读取的。再写一个getch();就可以等待键盘输入了。
当运行输入字符串s后会以回车结束,而以上代码第5行scanf_s不会读入回车符,回车符被代码第7行getch读入,因此输出结果不会保留,程序直接结束。
这种情况通常发生在前面已经有了输入语句,而当前的scanf是在接收字符(即用%c控制输入)时。
1、这是因为在上一次使用scanf后没有清空输入缓存, 这样你再次使用scanf的时候函数就可能会认为你已经输入过了。
2、一般是你在调用函数的时候传递的是int类型的数据,但那个函数定义的参数类型不是int(比如是结构或者指针或者数组)。
3、scanf的意思,就是让你输入一个数值并回车 程序不执行,是等待你的输入。每个scanf都是在等待键盘输入。
4、首先你要明白是语言的一个整体的框架,如果你整体的框架是没有构建好的话,那么他是不能够运行的,如果他里面存在了一些错误,他就会导致无法运行,或者是让你重新修改。
5、函数先使用后定义了。C语言要求调用某一个函数之前,一定要知道该函数的定义。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流