小编avc*_*Jav的帖子

在 C 中附加带有 null 终止符的 char

也许是一件微不足道的事情,但我刚刚学习 C,我讨厌用两行代码来做,用一行代码可以做什么(当然,只要它不混淆代码)。

无论如何,我通过一次附加一个字符来构建字符串。我通过跟踪正在构建的字符串的字符索引以及输入文件字符串的(行)索引来做到这一点。

str[strIndex] = inStr[index];
str[strIndex + 1] = '\0';
Run Code Online (Sandbox Code Playgroud)

str 用于临时存储输入行中的单词之一。每次添加字符时我都需要附加终止符。

我猜我想知道什么;有没有一种方法可以将这些组合在一个语句中,而不使用 strcat() (或每次开始一个新单词时使用 memset() 清除 str)或创建其他变量?

c arrays null append char

4
推荐指数
1
解决办法
5985
查看次数

尝试运行 Anagram 时出现警告(John Bentley-Programming Pearls)-C

对 C 完全陌生。只是想通过运行 John Bentley 的 Anagram(我相信是第 2 列)程序来掌握 Linux 和 C 编程的窍门。很确定我逐字复制了这段代码(必须添加标头等),但我收到一条警告,当使用我的 squash.c 程序编译和运行时,会给出不需要的输出。承认吧,我什至不知道这个 charcomp 函数的行为方式,或者它的作用。(那里的一些启发也很好)。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int charcomp(char *x, char *y) {return *x - *y;}

#define WORD_MAX 100
int main(void)
{
        char word[WORD_MAX], sig[WORD_MAX];
        while (scanf("%s", word) != EOF) {
                strcpy(sig, word);
                qsort(sig, strlen(sig), sizeof(char), charcomp);
                printf("%s %s\n", sig, word);
        }
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是警告。

sign.c:13:41: warning: incompatible pointer types passing 'int (char *, char *)'
      to parameter of type '__compar_fn_t' (aka 'int …
Run Code Online (Sandbox Code Playgroud)

c qsort

1
推荐指数
1
解决办法
611
查看次数

标签 统计

c ×2

append ×1

arrays ×1

char ×1

null ×1

qsort ×1