小编use*_*850的帖子

C函数的输入和输出参数

对于我正在编写的课堂项目,我老师的函数风格指南说“输入参数必须出现在输出参数之前”。我不太确定他们的意思是什么?

c

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

C struct自动初始化值,数组初始化

如果我有两个结构

typedef struct {
  int number_of_lines;
  char lines[MAX_CHAPTER_LINES][MAX_STR_SIZE + 1];
} Chapter;

typedef struct {
  char name[MAX_STR_SIZE + 1];
  int number_of_chapters;
  Chapter chapters[MAX_CHAPTERS];
} Book;
Run Code Online (Sandbox Code Playgroud)

我创建了一个章变量:

Chapter x1;
Run Code Online (Sandbox Code Playgroud)

它的两个成员的价值会被初始化为什么?这是垃圾吗?还是零?在我的代码中我得到0int,但是我的TA告诉我这将是垃圾?

另外,如果我要声明一个章节数组:

Chapter chapters[30];
Run Code Online (Sandbox Code Playgroud)

是否会填充30个带有0/ NULL值元素的结构?或者用垃圾值元素初始化?

c arrays struct initialization

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

fgets何时开始阅读?

如果我要向stdout打印提示:

printf("> ");  
Run Code Online (Sandbox Code Playgroud)

然后我说

fgets(tester, 80, stdin);
Run Code Online (Sandbox Code Playgroud)

fgets会读取包括">"在内的整行,还是会在此之后开始?

c

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

c size_t变量未设置为零?

我试图将total_elements设置为0,但它最终会给我一个随机的大数字.我对为什么会发生这种情况感到非常困惑.这是我的结构:

typedef struct sack {
  Element *elements;
  size_t total_elements;
} Sack;

typedef struct element {
  char *name;
  int occurances;
  struct element *next;
} Element;
Run Code Online (Sandbox Code Playgroud)

这是代码:

void init_sack(Sack *sack) {
  if(!(sack = calloc(1, sizeof(Sack)))) {
    return;
  }
  sack->elements = NULL;
  sack->total_elements = 0;
  return;
}
Run Code Online (Sandbox Code Playgroud)

c struct size-t

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

令人困惑的C程序行为,printf

怎么来printf("提示:")不会立即打印?我尝试过fflush(stdout)并放置一个\n,但这些都没有.它仅在"See you"打印时打印:

int main() {
    char line[1025];
    char command[80], argument[80];
    char argv[3][80];
    int i, pid;
    *(argv[2]) = '\0';

    while((fgets(line, 1024, stdin))) {
      printf("prompt:");

      line[1024] = '\0';
      sscanf(line, " %s %s ", command, argument);

       if(strcmp(command, "exit") == 0 || strcmp(command, "hastalavista") == 
          0) {
          printf("See you\n");
          exit(0);
       } 
    }
  return 0;
  }
Run Code Online (Sandbox Code Playgroud)

c printf

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

标签 统计

c ×5

struct ×2

arrays ×1

initialization ×1

printf ×1

size-t ×1