如何接受用户定义的变量?

时间:2009-03-14 17:45:36

标签: c

#define pi 3.142
void main()
{
  float circum,r;
  printf("entr radius");
  scanf("%f",&f);
  area=2*pi*r;
  printf("circum of the circle is =%f",f);
}

我们必须编写另一个C程序,它将文件作为输入并用定义的值替换字符串“pi”

如果有定义变量,我应该用用户定义的值替换。

2 个答案:

答案 0 :(得分:1)

void不是main的标准返回类型。使用以下之一:

int main(void)

int main(int argc, char *argv[])

您需要读取文件,解析每一行并查看,如果它是宏定义并替换它。以下内容:

int main(int argc, char *argv[]) {
  /* assume: C file to be modified is 1st commandline parameter */
  /* write the modified file to stdout */
  FILE *fp = fopen(argv[ 1 ], "r"); 
  if (fp) {
    char line[ 256 ]; /* change it to something suitable */
    while(fgets(line, sizeof line, fp) != NULL) {
      if (strstr(line, "pi") != NULL) {
         /* parse line, extract input value, change it */
      }
      else puts(line);
    }
    fclose(fp);
  }
  return 0;
}

答案 1 :(得分:0)

好吧,我会尝试引导你朝着正确的方向前进而不为你做功课......

在C中,main应该总是返回一个int。要接受文件作为输入,您可以将其指定为命令行参数并从argv []读取,或者您可以使用键盘输入作为您已知道如何操作的文件名。

这3页应包含完成任务所需的全部内容:

相关问题