ch3-Return (Return statement in C/C++)

Chapter_3     Translate Exercise_3-1







Return     TCP1, p. 125-126  (return.c,  Return.cpp)




return.c         download


#include <stdio.h>
// warning: data definition has no type or storage class:
cfunc(); // warning: (arg) type defaults to 'int' in declaration of 'cfunc'

main() // warning: return type defaults to 'int'
{
int val;

printf("Type an integer: ");
scanf("%d", &val);
printf("%c\n", cfunc(val)); // call cfunc() with 1 arg OK: no warning

return 0; // no error or warning here
}
/*
cfunc(char c) {} // compile error: conflicting types for 'cfunc' (char arg)
*/
cfunc(int i, int j) // warning: return type defaults to 'int'
{ // int args OK, j not used: no warning
if(i == 0) {return 'a';} // no error
if(i == 1) {return 'g';} // or warning
if(i == 5) {return 'z';}

return 'c';
}
/*
gcc return.c -o return
./return
Type an integer: -1
c

./return
Type an integer: 0
a

./return
Type an integer: 1
g

./return
Type an integer: 2
c

./return
Type an integer: 5
z

./return
Type an integer: m
c
*/











Return.cpp         download


#include <iostream>
using std::cout;
using std::cin;
using std::endl;

char cfunc(int);

int main()
{
int val;

cout << "Type an integer: ";
cin >> val;
cout << cfunc(val) << endl;

return 0;
}

char cfunc(int i)
{
if(i == 0) {return 'a';}
if(i == 1) {return 'g';}
if(i == 5) {return 'z';}

return 'c';
}
/*
g++ Return.cpp -o Return
./Return
Type an integer: -1
c

./Return
Type an integer: 0
a

./Return
Type an integer: 1
g

./Return
Type an integer: 2
c

./Return
Type an integer: 5
z

./Return
Type an integer: m // val = 0
a
*/









Chapter_3     Translate BACK_TO_TOP Exercise_3-1



Comments

Popular posts from this blog

Contents