我一直在做這個程序一天左右,現在我沒有任何問題,也沒有看到之前的特定問題。如何停止初始化整數被賦予一個看似隨機的特定值?
它之前工作只是沒有工作......下面是導致問題的代碼。
當我將我的變量iflag,vflag和nflag聲明爲零時,我在今天開始工作之前獲得了可預測的功能。但現在IFLAG是某種4196496.
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#define MAX_LINE_LENGTH 512
//Prototypes:
char *read_line(FILE *fpntr);
int grep_stream(FILE *fpntr, char *string, int iflag, int nflag, int vflag);
int line_number = 1; // Line number in the file.
int width = 6; // Spacing
int main(int argc, char *argv[])
{
FILE *fpntr = NULL; // Pointer
char *PATTERN = argv[1]; // String we are attempting to match with our search.
char *FILE_PATH = NULL; // Optional file pathway.
int eflag = 0; // Track errors
int vflag, iflag, nflag = 0; // Track param usage.
printf("Inside the grep_stream \n");
printf("iflag: %d\n", iflag); // Outputs 4196496
printf("nflag: %d\n", nflag); // Outputs 0
printf("vflag: %d\n\n", vflag); // Outputs 0
...
}
我可以包含代碼的其餘部分是否會幫助,但本質上,它被設置爲奇異數我做我的聲明的時刻,所以我不認爲有可以是其他任何引起此問題的奇怪東西。
有沒有辦法阻止這種情況發生?
您從未初始化過'iflag'或'vflag'。代碼'nflag = 0'只初始化'nflag'。 –