C语言中,这个main函数里定义的变量是全局变量还是局部变量?

那么如何在main函数里定义全局变量?

放在main函数里定义的变量是局部变量,全局变量要放在所有函数(包括main)的外部#include int x,y,z;

void year(int a,int b,int c);

int main()

{

 int i,a,b,c;

for(i=1;i<=1;i++)

{

scanf("%d,%d,%d",&a,&b,&c);

 printf("a=%d\n",a);

 printf("b=%d\n",b);

printf("c=%d\n",c);

}这里x y z就是全局变量,其他都是局部变量

扩展资料:

for循环

for循环结构是c语言中最具有特色的循环语句,使用最为灵活方便,它的一般形式为:

for(表达式1;表达式2;表达式3)循环体语句 。(其中;不能省略)

表达式1为初值表达式,用于在循环开始前为循环变量赋初值。

表达式2是循环控制逻辑表达式,它控制循环执行的条件,决定循环的次数。

表达式3为循环控制变量修改表达式,它使for循环趋向结束。

循环体语句是在循环控制条件成立的情况下被反复执行的语句。

但是在整个for循环过程中,表达式1只计算一次,表达式2和表达式3则可能计算多次,也可能一次也不计算。循环体可能多次执行,也可能一次都不执行。

先执行表达式2,然后执行循环结构,最后表达式3,一直这样循环下去。

for循环语句是c语言种功能最为强大的语句,甚至在一定程度上可以代替其他的循环语句。

do

do循环结构,do 1 while⑵;的执行顺序是1->2->1...循环,2为循环条件。

参考资料来源:百度百科-C语言

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-24

(1)main函数内的变量不是全局变量,而是局部变量。

(2)只不过它的生命周期和全局变量一样长而已。

(3)全局变量一定是定义在函数外部的。

函数分类

从用户使用的角度看,函数有两种:

1、标准函数,即库函数。这是由系统提供的。

2、用户自定义的函数。可以解决用户的专门需要。

二、从函数的形式看,函数分两类:

1、无参函数。printstar和print_message就是无参函数。在调用无参函数时,主调函数并不将数据传送给被调用函数,一般用来执行指定的一组操作。

2、有参函数。在调用函数时,在主调函数和被调用函数之间有数据传递。也就是说,主调函数可以将数据传递给被调用函数使用,被调用函数中的数据也可以带回来供主调函数使用。

在C语言当中,一个程序,无论复杂或简单,总体上都是一个“函数”;这个函数就称为“main函数”,也就是“主函数”。比如有个“做菜”程序,那么“做菜”这个过程就是“主函数”。在主函数中,根据情况,你可能还需要调用“买菜,切菜,炒菜”等子函数。

main函数在程序中大多数是必须存在的,但是依然有例外情况,比如windows编程中可以编写一个动态链接库(dll)模块,这是其他windows程序可以使用的代码。

由于DLL模块不是独立的程序,因此不需要main函数。再比如,用于专业环境的程序-----如机器人中的控制芯片--可能不需要main函数。

扩展资料:

main函数用法

C++中的main函数

C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,

不能写成某个结构体或某个类的成员。虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。

C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。

Java中的main函数

Java同样是以main函数作为程序执行出入口的,但Java作为“更纯洁”的面向对象语言,它的main函数与C/C++有很大的不同。

首先,返回值的概念淡化,在Java Application中main不允许返回值,因此int main是被禁止的,必须使用void main,int main仅限在JavaBean中使用。

其次,Java中所有的函数必须属于类,没有什么全局函数一说,因此main函数不能是全局成员,必须是某个类的成员。

第三,由于main函数变成了类的成员函数,因此要想直接被系统调用,还必须使用public static使其成为静态函数并具有公开权限。

第四,main函数的参数被简化,只需要提供字符串数组即可,不需要提供参数个数(这是由于Java的数组具有下标检查功能的原因)

Java Application中的main函数一般格式如下(类名可以自定义,但保存为Java源码时,主文件名必须与类名相同,否则可能无法运行)

public class MainDemo{

public static void main(String[]args){

//TODO:在此处写入主函数的内容

}

}

Java Applet的运行机制与Java Application完全不同,因此不需要main函数

C#中的main函数

C#中的main函数与Java大同小异,同样必须是类成员,同样使用字符串数组作唯一参数,同样是静态函数,同样的void main,

与之不同的是:main的首字母变成了大写,即"Main函数“,且是否限定为public级别已经无所谓了(默认没有public,但某些场合可能还是需要public)

另外,需要注意的是,C#中不再有”类名必须与主文件名同名“的限制,即使类名不和主文件名相同,程序照样可以运行。

C#应用程序中的main函数默认是这样的(注意main的首字母已是大写)

C#和C/C++、java不同的是C#不在拘泥于必须从main()函数开始执行,C#是属于事件触发。

class Program{

static void Main(string[]args){

//TODO:在此处写入主函数的内容

}

}

参考资料:

百度百科——main函数

本回答被网友采纳
第2个回答  2020-01-03
放在main函数里定义的变量是局部变量,全局变量要放在所有函数(包括main)的外部#include int x,y,z;
void year(int a,int b,int c);
int main()
{
int i,a,b,c;
for(i=1;i<=1;i++)
{
scanf("%d,%d,%d",&a,&b,&c);
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("c=%d\n",c);
}这里x
y
z就是全局变量,其他都是局部变量
扩展资料:
for循环
for循环结构是c语言中最具有特色的循环语句,使用最为灵活方便,它的一般形式为:
for(表达式1;表达式2;表达式3)循环体语句
。(其中;不能省略)
表达式1为初值表达式,用于在循环开始前为循环变量赋初值。
表达式2是循环控制逻辑表达式,它控制循环执行的条件,决定循环的次数。
表达式3为循环控制变量修改表达式,它使for循环趋向结束。
循环体语句是在循环控制条件成立的情况下被反复执行的语句。
但是在整个for循环过程中,表达式1只计算一次,表达式2和表达式3则可能计算多次,也可能一次也不计算。循环体可能多次执行,也可能一次都不执行。
先执行表达式2,然后执行循环结构,最后表达式3,一直这样循环下去。
for循环语句是c语言种功能最为强大的语句,甚至在一定程度上可以代替其他的循环语句。
do
do循环结构,do
1
while⑵;的执行顺序是1->2->1...循环,2为循环条件。
参考资料来源:百度百科-C语言
第3个回答  推荐于2018-02-23

放在main函数里定义的变量任然是局部变量,全局变量要放在所有函数(包括main)的外部,例如:

#include <stdio.h>

int x,y,z;

void year(int a,int b,int c);
int main()
{
 int i,a,b,c;
 for(i=1;i<=1;i++)
 {
 scanf("%d,%d,%d",&a,&b,&c);
 printf("a=%d\n",a);
 printf("b=%d\n",b);
 printf("c=%d\n",c);
 year(a,b,c);
  system("PAUSE");
  return 0;
 }
}

void year(int a,int b,int c)
{

printf("现在是%d年%d月%d日\n",a,b,c);
}

这里x y z就是全局变量,其他都是局部变量

本回答被网友采纳
第4个回答  2019-03-23
放在main函数里定义的变量任然是局部变量,全局变量要放在所有函数(包括main)的外部,例如:
#include <stdio.h>
int x,y,z;
void year(int a,int b,int c);
int main()
{
int i,a,b,c;
for(i=1;i<=1;i++)
{
scanf("%d,%d,%d",&a,&b,&c);
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("c=%d\n",c);
year(a,b,c);
system("PAUSE");
return 0;
}
}
void year(int a,int b,int c)
{
printf("现在是%d年%d月%d日\n",a,b,c);
}这里x
y
z就是全局变量,其他都是局部变量