problem with segment error in my c++ program

I am getting a segment error when i am running this code please help
Thanks

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
 * File:   newmain.cpp
 * Author: user
 *
 * Created on 10 December, 2014, 7:18 AM
 */

#include <stdlib.h>
#include <iostream>

using namespace std;
int append(int a[], int b[], int m, int n);

int main() {
class="quote">
class="qd">
int a[] = {1, 2, 3, 4}; int b[] = {4, 5}; int m = sizeof (a); int n = sizeof (b); append(a, b, m, n); return 0; } int append(int a[], int b[], int m, int n) { int i = 0, j = 0; while (i < m && j, n) { if (a[i] < b[j]) { cout << a[i++]; } else if (a[i] > b[j]) { cout << b[j++]; } else { cout << b[j++]; i++; } } for(i=0;i<m;i++){ cout<<a[i]; } for(j=0;j<n;j++){ cout<<b[j]; } }


1
2
3
4
    int a[] = {1, 2, 3, 4};
    int b[] = {4, 5};
    int m = sizeof (a);
    int n = sizeof (b);


Are you expecting sizeof to give you the number of elements in the array? It actually gives the number of bytes.

http://www.cplusplus.com/faq/sequences/arrays/sizeof-array/#basics
http://www.cplusplus.com/faq/sequences/arrays/sizeof-array/#cpp
Last edited on
Topic archived. No new replies allowed.