c - 该程序删除多余空格有什么问题?
问题描述
我试图编写一个程序来删除额外的间距。但它从未返回所需的输出。我能知道这里出了什么问题以及如何纠正吗?
#include<stdio.h>
main()
{
char strin[150];
int n,i;
printf("Number of words : ");
scanf("%d",&n);
printf("Enter Input: ");
for(i=0;i<n;i++)
{
scanf("%c",&strin[i]);
}
for(i=0;i<n;i++)
{
if(strin[i]==" ")
continue;
else
printf("%c",strin[i]);
}
}
我也尝试使用 %s 而不是 %c (带有 string.h 标头),但是运行 cmd 在运行时崩溃了。为什么会崩溃?
解决方案
使用' '
而不是" "
检查单个字符。
用于strcmp()
检查多个字符或整个字符串
推荐阅读
- mongodb - MongoDB中有一个集合。几乎所有字段都需要查询或排序。如何设计和优化它?
- git - 'git remote add' 不创建 repo
- docker - k8s 使用服务 DNS 名称从私有注册表中提取图像
- javascript - Selenium:向下滚动直到元素的“样式”发生变化
- python - 在 Python 中使用条件更改分类列中的值
- mule - Mule 第一次执行的简单选择需要很长时间
- java - 使用单个 JavaFX TableView 显示同一父级的不同子类
- javascript - 从计算机javascript读取文件并打印console.log它不打印
- python - 使用 psycopg2 到 PostgreSQL 的 Python 连接 - 为什么需要关闭和重新打开连接才能使随后的代码工作?
- flutter - Flutter 为另一个类列表增加价值