- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的程序应该采用任意数量的单字文本字符串参数,每个参数的长度小于 128 个字符。它将所有文本从 stdin 复制到 stdout,但输入中看到的任何单词都会被单词 CENSORED 替换。到目前为止还算有效。关于如何修复它有什么想法吗?
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[]){
char word[128];
int index = 0;
int c = getchar();
while (c != EOF){
//checks for letter and adds to word[]
if ((c>='A' && c<='Z') || (c>='a' && c<='z') || c == '\''){
word[index] = (char)c;
index++;
word[index] = '\0';
}
//when c is not a letter or ' (end of word)
else{
if (index > 0){
int found;
for (int i=1;i<argc;i++){
//if word[] is found in input censor it
if (strcmp(word,argv[i]) == 0){
printf("CENSORED");
found = 1;
break;
}
}
//prints word[] if it's not in input
if (found != 1){
printf("%s",word);
}
}
//resets word[] and index / prints value of c
word[0] = '\0';
index = 0;
printf("%c",(char)c);
}
//increment c
c = getchar();
}
}
最佳答案
我看到两个问题。首先,如果您确实收到超过 127 个字符的单词,则不应溢出缓冲区。变化:
word[index] = (char)c;
index++;
至:
if ( index+1 < sizeof(word) ) {
word[index] = (char)c;
index++;
}
另一个问题(可能是您已经注意到的问题)是您没有初始化 found
。做到:
int found = 0;
关于审查 STDIN 中找到的单词并打印到 STDOUT 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43062511/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!