2016-10-24 2 views
0

Я написал простой код, чтобы практиковать некоторые вещи, но он не работает, как и предполагалось. Я программирую на своем iPhone только для удовольствия, и я использую приложение, называемое автономным компилятором c/C++, которое, похоже, работает очень хорошо.Проблемы с компилятором iPhone ++

В любом случае, я написал программу для отображения чисел, а если число меньше 5 цифр, на каждом пустом пространстве отобразится звезда. Затем рядом с этим отобразите адрес памяти.

Есть два вопроса, которые у меня есть. Во-первых, почему звезды не отображаются, когда я запускаю это. Во-вторых, каждый раз, когда он запускается, адреса памяти различаются. Это из-за компилятора или из-за того, как работает память iPhone?

Исходный код:

//c plus plus program 1 

#include <iostream> 
using namespace std; 

int main (void){ 

    for(int i=0; i<150;i+=30){ 

    cout.width(5); 
    cout.fill('*'); 

    cout<<i<< "="<<&i <<endl; 

    } 

    return 0; 
} 

ответ

0

Это нормально, что адрес i меняется каждый раз при запуске программы. Насколько я знаю, это связано с тем, как система работает с памятью. Почему вы считаете, что каждый раз ваша программа будет в одной и той же части? :-)

Я попробовал ваш код только http://cpp.sh и были показаны звезды:

****0=0xffcde9dc 
***30=0xffcde9dc 
***60=0xffcde9dc 
***90=0xffcde9dc 
**120=0xffcde9dc 

Обратите внимание, что все после второго << не принял во внимание, когда ширина вывода была определена. Итак, прежде всего, чтобы исследовать проблему, я бы попробовал что-то вроде

int main (void) { 
    cout.width(5); 
    cout.fill('*'); 
    cout << 1 << endl; 
    cout << 2 << endl; 
} 

, чтобы понять, если проблема с компилятором или нет.

+0

Ну, всякий раз, когда я программирую в визуальной студии, он всегда начинается с одного адреса и идет оттуда, поэтому каждый раз, когда я запускаю программу, он находится в том же адресе. Не был уверен, что это была вещь Windows v. Apple. Или рабочий стол с мобильного устройства. Или даже разница в компиляторах. – rgolden

Смежные вопросы