【发布时间】:2023-03-29 17:23:02
【问题描述】:
这是我当前的代码:
int num = 0;
char c = '#';
scanf("%d",&num);
do{
for (int i=0;i<num;i++){
printf("%c",c);
}
printf("\n");
}
while (scanf("%d", &num) == 1);
如果用户不输入任何内容,我将如何让程序不会吐出换行符?
感谢您的帮助,谢谢!
【问题讨论】:
-
嗯,你所谓的“空”,我会只调用
"\n"的输入并将空输入的想法保存为""。 -
%dofscanf将忽略(跳过)前面的换行符(空格)。 -
如果用户在任何数字之前点击
^D(或Windows 上的^Z),上述程序将打印一个换行符。 OP 不想要输出。将do/while逻辑替换为简单的while循环。 -
@WorldSEnder:你的回答很完美。 MartinZabel 忽略了文件结尾的情况,他的评论没有指向真正的问题。
标签: c