C Programming - Declarations and Initializations - Discussion
Discussion Forum : Declarations and Initializations - General Questions (Q.No. 10)
10.
In the following program where is the variable a getting defined and where it is getting declared?
#include<stdio.h>
int main()
{
extern int a;
printf("%d\n", a);
return 0;
}
int a=20;
Answer: Option
Explanation:
- During declaration we tell the datatype of the Variable.
- During definition the value is initialized.
Discussion:
46 comments Page 4 of 5.
Somjit Nag said:
1 decade ago
a is declared and defined as a global variable. There is no need for an extern here.
Extern is used when the same variable needs to be used across multiple files (compilation units to be more precise).
Extern is used when the same variable needs to be used across multiple files (compilation units to be more precise).
Susee said:
1 decade ago
May I know explanation for "return 0"? What it will do?
Kas said:
1 decade ago
@Jyoti mishra.
#include<stdio.h>
main(){
int n;
int row,col;
scanf("%d",&n);
int m=n;
for(row=1;row<=n;row++){
for(col=1;col<=m-row;col++){
printf(" ");
}
for(col=1;col<=row;col++){
printf("* ");
}printf("\n");
}
getch();
}
#include<stdio.h>
main(){
int n;
int row,col;
scanf("%d",&n);
int m=n;
for(row=1;row<=n;row++){
for(col=1;col<=m-row;col++){
printf(" ");
}
for(col=1;col<=row;col++){
printf("* ");
}printf("\n");
}
getch();
}
Lovely said:
10 years ago
extern int a; a is declared (forward referencing) (compiler only gets hint).
int a=20; is the definition (value is initialized).
Then when is the memory allocated to 20 and given a name a?
int a=20; is the definition (value is initialized).
Then when is the memory allocated to 20 and given a name a?
Ramya said:
10 years ago
Will you explain please?
Mounika said:
10 years ago
Absolutely option A is correct answer.
But, declaration is outside of the main function.
So, could you please explain more about that?
But, declaration is outside of the main function.
So, could you please explain more about that?
Anusha said:
10 years ago
If we give like this extern int a = 2;
Is it a declaration or definition?
Please can someone explain this?
Is it a declaration or definition?
Please can someone explain this?
Laxmi said:
9 years ago
extern int a=2; it is a definition. Because variable a is initialized to 2 then memory is created for a. That's why we call it as a definition.
Deepak said:
9 years ago
Here, we should declare a=20 above the main function.
Vishu said:
9 years ago
@Jyoti.
Here is the code.
#include <stdio.h>
int main()
{
int i,j,n;
printf("enter the num:");
scanf("%d",&n);
for(i = 1; i <= n; i++)
{
for(j = 1; j <=n-i ; j++ )
printf(" ");
for(j = 1; j <= i; j++)
printf("* ");
printf("\n");
}
return 0;
}
Here is the code.
#include <stdio.h>
int main()
{
int i,j,n;
printf("enter the num:");
scanf("%d",&n);
for(i = 1; i <= n; i++)
{
for(j = 1; j <=n-i ; j++ )
printf(" ");
for(j = 1; j <= i; j++)
printf("* ");
printf("\n");
}
return 0;
}
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers