Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 李> 使用后释放分配的单词 正确使用strcat 确保它不会生成零长度的单词 修复符号初始化器中的键入错误 #包括 #包括 #包括 #包括 const int MAX_WORD=10; char*get_random_单词(void){ 常量字符*符号[_Arrays_C_String_Pointers_Memory Management - Fatal编程技术网

Arrays 李> 使用后释放分配的单词 正确使用strcat 确保它不会生成零长度的单词 修复符号初始化器中的键入错误 #包括 #包括 #包括 #包括 const int MAX_WORD=10; char*get_random_单词(void){ 常量字符*符号[

Arrays 李> 使用后释放分配的单词 正确使用strcat 确保它不会生成零长度的单词 修复符号初始化器中的键入错误 #包括 #包括 #包括 #包括 const int MAX_WORD=10; char*get_random_单词(void){ 常量字符*符号[,arrays,c,string,pointers,memory-management,Arrays,C,String,Pointers,Memory Management,李> 使用后释放分配的单词 正确使用strcat 确保它不会生成零长度的单词 修复符号初始化器中的键入错误 #包括 #包括 #包括 #包括 const int MAX_WORD=10; char*get_random_单词(void){ 常量字符*符号[]={ “a”、“b”、“C”、“d”、“e”、“f”、“g”、“h”、“i”、“j”、“k”、“l”、“m”, “n”、“o”、“p”、“q”、“r”、“s”、“t”、“u”、“v”、“w”、“x”、“y”、“z” }; char*words

李>
  • 使用后释放分配的单词
  • 正确使用strcat
  • 确保它不会生成零长度的单词
  • 修复符号初始化器中的键入错误
  • #包括
    #包括
    #包括
    #包括
    const int MAX_WORD=10;
    char*get_random_单词(void){
    常量字符*符号[]={
    “a”、“b”、“C”、“d”、“e”、“f”、“g”、“h”、“i”、“j”、“k”、“l”、“m”,
    “n”、“o”、“p”、“q”、“r”、“s”、“t”、“u”、“v”、“w”、“x”、“y”、“z”
    };
    char*words=calloc(MAX_WORD+1,sizeof(char));
    如果(!字){
    返回NULL;
    }
    对于(int ii=0;ii<1+(rand()%MAX_WORD);ii++){
    strcat(单词、符号[rand()%26]);
    }
    返回单词;
    }
    内部主(空){
    srand(时间(空));
    char*new_word=get_random_word();
    如果(新词){
    printf(“%s\n”,新单词);
    免费(新词);
    返回0;
    }否则{
    返回1;
    }
    }
    
    Un为了生成一个单词,您首先需要有一个空间来放置该单词
    strcat
    没有空格,请阅读。也就是说,您需要使用malloc作为变量“words”@RumeOne您的第一个符号是
    “a”、
    “a”
    ?可能是打字错误(我指的是逗号)?是的,这是一种可能性。您还需要更改有关如何调用strcat的内容。要生成一个单词,您首先需要有一个空格来放入该单词
    strcat
    没有空格,请阅读。也就是说,您需要使用malloc作为变量“words”@RumeOne您的第一个符号是
    “a”、
    “a”
    ?可能是打字错误(我指的是逗号)?是的,这是一种可能性。您还需要更改调用strcat的方式。
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <string.h>
    
    char* getrand() {
      char* symbols[] = {"a,", "b", "с", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};
      char* letter;
      char* words;
      for (int i = 0; i < rand() % 10; i++) {
       letter = symbols[rand() % 26];
       words = strcat(letter, symbols[rand() % 26]);
      }
      return words;
    }
    
    int main(void) {
      srand(time(NULL));
      char* new_word;
      new_word = getrand();
      printf("%s\n", new_word);
      return 0;
    }
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    #define MAX_LEN 10
    #define SYMBOLS_LEN 26
    
    void getrand_word(char* word, int word_max_len) {
      char symbols[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
      char letter;
      for (int i = 0; i < rand() % word_max_len; i++) {
       letter = symbols[rand() % SYMBOLS_LEN];
       word[i] = letter;
      }
    }
    
    int main(void) {
      srand(time(NULL));
      char word[MAX_LEN] = {0};
      getrand_word(word, MAX_LEN);
      printf("%s\n", word);
      return 0;
    }
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <string.h>
    
    const int MAX_WORD = 10;
    
    char *get_random_word(void) {
      const char *symbols[] = {
        "a", "b", "с", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
        "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"
      };
      char *words = calloc(MAX_WORD + 1, sizeof(char));
      if (!words) {
        return NULL;
      }
    
      for (int ii = 0; ii < 1 + (rand() % MAX_WORD); ii++) {
        strcat(words, symbols[rand() % 26]);
      }
    
      return words;
    }
    
    int main(void) {
      srand(time(NULL));
      char *new_word = get_random_word();
      if (new_word) {
        printf("%s\n", new_word);
        free(new_word);
        return 0;
      } else {
         return 1;
      }
    }