Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当输入允许的最大字符串数时,如何在创建字符串数组时跳出循环?

当输入允许的最大字符串数时,如何在创建字符串数组时跳出循环?
EN

Stack Overflow用户
提问于 2021-10-16 13:01:35
回答 2查看 59关注 0票数 0

我正在尝试打印用户输入的朋友姓名列表。最多可以输入5个名字。用户也可以选择输入< 5。我不明白为什么输入了5个名字后我无法跳出循环?谢谢

代码语言:javascript
运行
AI代码解释
复制
 #include <stdio.h>

 int main(void) {
    
  char namesArray[5][100]; //5 = number of names while 100 = the maximum length of the name

  int x, y;
  char yesNo;
  int counter = 0;

 do {
    for (x = 0; x < 5; x++) {
    printf("\nEnter a friends name: ");
    scanf(" %s", &namesArray[x][0]);
    counter++;

    printf("\nWould you like to enter another friends name? Y or N: ");
    scanf(" %c", &yesNo);
    if (yesNo == 'N')
    break;
    }
  } while (yesNo == 'Y' || counter == 5);


 if (yesNo == 'N' || counter == 5){
    for (x = 0; x < counter; x++) {
    printf("\n\n%s", namesArray[x]);
    }
  }

    return 0;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-16 14:06:18

回答你的问题:

您的do-while循环永远不会结束,因为当达到条件时,counter永远不会为5。在x5时结束的for循环中增加counter。因此,当您离开第一个for循环时,counter将为6。(因为当循环开始时,x0,而您将counter增加到1)

因此,要使您的代码正常工作,需要将do-while条件更改为:

代码语言:javascript
运行
AI代码解释
复制
 while (yesNo == 'Y' || counter < 5);

更好的解决方案是稍微修改一下代码,完全摆脱do-while循环。您可以只使用for循环(以确保最多可以输入5个名称),并在其中添加yesNo的条件,这样就可以在输入5个名称之前中断。

票数 1
EN

Stack Overflow用户

发布于 2021-10-17 06:26:58

所有其他的评论都是真的,所以你可能想要这样的东西:

代码语言:javascript
运行
AI代码解释
复制
#include <stdio.h>

int main(void)
{
    
    char namesArray[5][100]; // 5 = number of names, 100 = max length of each
    char yesNo;
    int counter;

    for (counter = 0; counter < 5; counter++) {
        printf("\nEnter a friends name: ");
        scanf(" %99s",namesArray[counter]);
        printf("\nWould you like to enter another friends name? Y or N? ");
        scanf(" %c", &yesNo);
        if (yesNo == 'N')
            break;
    }
    for (int x = 0; x < counter; x++)
        printf("\n\n%s",namesArray[x]);
    exit(0);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69599525

复制
相关文章
一行代码更改密码
修改密码的时候,大家是不是都有输入两次密码的经历,这种交互适合终端操作,而不是用于脚本操作,对于老高这种一言不合就写Dockerfile的猿,真是很不友好。
老高的技术博客
2022/12/28
5900
jquery 属性&CSS操作 笔记
这是一个读写双用的方法,用来处理input的value,当方法没有参数的时候返回input的value值,当传递了一个参数的时候,方法修改input的value值为参数值
bamboo
2019/01/29
1.3K0
jquery 属性&CSS操作 笔记
css opacity属性_CSS中的opacity属性[通俗易懂]
With the growing need of making websites, the need for styling them has also increased. Therefore, CSS has become an indispensable part of creating websites. Thus one must be aware of which properties to use while creating a website.
全栈程序员站长
2022/09/01
3.2K0
css opacity属性_CSS中的opacity属性[通俗易懂]
一行 CSS 代码的魅力
首先,这让我想到了,年初的时候沉迷的一个网站 CSS Battle 。这个网站是核心玩法就是:
Sb_Coco
2021/01/08
7290
一行 CSS 代码的魅力
jquery 标签中的属性操作
.arrt() 获取匹配的元素集合中的第一个元素的属性值,或设置每一个元素中的一个或多个属性值。 .attr(attributeName) $("em").attr("title"); q获取“em”集合中的第一个em 的title值。 .attr(attributeName,value) attributeName 要设置的属性名 value 这个属性设置的值 $("#greatp").attr('alt','she zhi shu xing zhi')
用户1197315
2018/01/19
1.7K0
jquery中各个属性的应用
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>jquery_shuxing.html</title> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ //ad
闵开慧
2018/03/30
9750
CSS中Fixed的属性
下面这个小demo演示一下fixed与父级子级同级的效果展示 这三个div都是【fixed】属性,但你会发现父级的zindex这时压根没盖过子级的z-index 同级的情况下是会被遮罩住的。
2021/11/08
1.5K0
Jquery中dialog属性小记
还是先看例子吧。另外如果要拖动、改变dialog的大小的话要加上ui.draggble.js和ui.resizable.js
Java架构师必看
2021/05/20
2.1K0
面对美欧制裁俄罗斯,中国工控人该怎么想?该怎么做?
2022年2月21日晚,俄罗斯总统普京签署命令,承认乌克兰东部的“顿涅茨克人民共和国”和“卢甘斯克人民共和国”并出兵乌克兰,在顿巴斯地区进行特别军事行动并登陆乌克兰黑海边的港口城市敖德萨,乌克兰全境进入战时状态。
剑指工控
2022/06/06
1K0
面对美欧制裁俄罗斯,中国工控人该怎么想?该怎么做?
想找个大厂的实习,我该怎么做?
不知不觉到了年底,很快又到了实习生招聘的节点了,今天和大家聊聊很多人职业生涯的开始——实习。
TechFlow-承志
2022/09/22
7630
想找个大厂的实习,我该怎么做?
css中sticky属性
sticky粘性定位 是css新增属性 其实就是以往我们做的fixed;当滚动条下拉到一定程度设置容器为fixed; 用图来演示:
2021/11/08
7590
Linux中的Chattr命令更改文件属性
在Linux中,文件属性是描述文件行为的元数据属性。 例如,属性可以指示是否压缩文件或指定是否可以删除文件。
用户5005176
2021/08/10
3.8K0
JQuery中操作Css样式的方法
今天写项目的时候突然不知道如何通过jquery来操作css样式了,于是就上网查了一下,现在总结出来给大家分享一下。
OECOM
2020/07/02
1.9K0
如何在Linux使用 chattr 命令更改文件或目录的扩展属性?
在 Linux 操作系统中,chattr 命令用于更改文件或目录的扩展属性,包括可写性、可执行性和删除性等。本文将介绍 chattr 命令的使用方法以及常见的参数。
网络技术联盟站
2023/04/20
3.9K0
如何在Linux使用 chattr 命令更改文件或目录的扩展属性?
微服务中的鉴权该怎么做?
最近刚好有小伙伴在微信上问到这个问题,松哥就来和大家聊一聊,本文主要和小伙伴们聊一聊思路,不写代码,小伙伴们可以结合松哥之前的文章,应该能够自己写出来本文的代码。当然,思路也只是我自己的一点实践经验,不一定是最完美的方案,欢迎小伙伴们在留言中一起探讨。
闻说社
2023/04/04
1.1K0
微服务中的鉴权该怎么做?
松哥最近正在录制 TienChin 项目视频~采用 Spring Boot+Vue3 技术栈,里边会涉及到各种好玩的技术,小伙伴们来和松哥一起做一个完成率超 90% 的项目,戳戳戳这里-->TienChin 项目配套视频来啦。
江南一点雨
2023/01/04
6400
微服务中的鉴权该怎么做?
首先小伙伴们知道,无论我们学习 Shiro 还是 Spring Security,里边的功能无论有哪些,核心都是两个:
大忽悠爱学习
2023/02/16
6860
使用纯CSS代码更改WordPress全站字体
不少博主喜欢美化自己的博客,而一个好看的字体可以让人眼前一亮,还可以提高阅读舒适度。作为一个二次元类(伪)的博客怎么能没有一个可爱的字体呢?
Daimon
2022/03/11
2K0
jQuery中属性选择器的使用
代码片段如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>属性选择器的使用</title> <style> </style> </head> <body> <button>获取具有href属性的 DOM 对象</button><br> <button>获取属性值为www.baidu.com对象</button><br> <button>获取属性值不为www.baidu.com对象<
软件小生活
2021/10/08
2.5K0
jQuery中属性选择器的使用
点击加载更多

相似问题

导出Google Earth引擎图像集合中的所有图像(Google Earth Engine API)

23

Google Earth引擎过滤

32

如何从Google Earth引擎导出Tiff图像

1107

Google Earth引擎:图像交集和逆交

133

在Google earth引擎中使用图像集合计算归一化差

151
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档