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
Post a Comment