Tuesday, May 28, 2013

Why A Triangle - C And C++ | Dream.In.Code


Example
#{example}
"); ipb.editor_values.get('templates')['togglesource'] = new Template("
??? Cancel Source Edit
"); ipb.editor_values.get('templates')['toolbar'] = new Template(""); ipb.editor_values.get('templates')['button'] = new Template("
  • Icon
  • "); ipb.editor_values.get('templates')['menu_item'] = new Template("
  • #{title}
  • "); ipb.editor_values.get('templates')['togglesource'] = new Template("
    ??? Cancel Source Edit
    "); ipb.editor_values.get('templates')['emoticons_showall'] = new Template(""); ipb.editor_values.get('templates')['emoticon_wrapper'] = new Template("

    Emoticons

    "); // Add smilies into the mix ipb.editor_values.set( 'show_emoticon_link', false ); ipb.editor_values.set( 'bbcodes', $H({"snapback":{"id":"1","title":"Post Snap Back","desc":"This tag displays a little linked image which links back to a post - used when quoting posts from the board. Opens in same window by default.","tag":"snapback","useoption":"0","example":"[snapback]100[/snapback]","switch_option":"0","menu_option_text":"","menu_content_text":"","single_tag":"0","optional_option":"0","image":""},"topic":{"id":"5","title":"Topic Link","desc":"This tag provides an easy way to link to a topic","tag":"topic","useoption":"1","example":"[topic=1]Click me![/topic]","switch_option":"0","menu_option_text":"Enter the topic ID","menu_content_text":"Enter the title for this link","single_tag":"0","optional_option":"0","image":""},"post":{"id":"6","title":"Post Link","desc":"This tag provides an easy way to link to a post.","tag":"post","useoption":"1","example":"[post=1]Click me![/post]","switch_option":"0","menu_option_text":"Enter the Post ID","menu_content_text":"Enter the title for this link","single_tag":"0","optional_option":"0","image":""},"spoiler":{"id":"7","title":"Spoiler","desc":"Spoiler tag","tag":"spoiler","useoption":"0","example":"[spoiler]Some hidden text[/spoiler]","switch_option":"0","menu_option_text":"","menu_content_text":"Enter the text to be masked","single_tag":"0","optional_option":"0","image":""},"acronym":{"id":"8","title":"Acronym","desc":"Allows you to make an acronym that will display a description when moused over","tag":"acronym","useoption":"1","example":"[acronym='Laugh Out Loud']lol[/acronym]","switch_option":"0","menu_option_text":"Enter the description for this acronym (EG: Laugh Out Loud)","menu_content_text":"Enter the acronym (EG: lol)","single_tag":"0","optional_option":"0","image":""},"hr":{"id":"12","title":"Horizontal Rule","desc":"Adds a horizontal rule to separate text","tag":"hr","useoption":"0","example":"[hr]","switch_option":"0","menu_option_text":"","menu_content_text":"","single_tag":"1","optional_option":"0","image":""},"php":{"id":"14","title":"PHP Code","desc":"Allows you to enter PHP code into a formatted/highlighted syntax box","tag":"php","useoption":"0","example":"[php]$variable = true;\n\nprint_r($variable);[/php]","switch_option":"0","menu_option_text":"","menu_content_text":"","single_tag":"0","optional_option":"0","image":""},"html":{"id":"15","title":"HTML Code","desc":"Allows you to enter formatted/syntax-highlighted HTML code","tag":"html","useoption":"0","example":"[html]\n \n[/html]","switch_option":"0","menu_option_text":"","menu_content_text":"","single_tag":"0","optional_option":"0","image":""},"sql":{"id":"16","title":"SQL Code","desc":"Allows you to enter formatted/syntax-highlighted SQL code","tag":"sql","useoption":"0","example":"[sql]SELECT p.*, t.* FROM posts p LEFT JOIN topics t ON t.tid=p.topic_id WHERE t.tid=7[/sql]","switch_option":"0","menu_option_text":"","menu_content_text":"","single_tag":"0","optional_option":"0","image":""},"xml":{"id":"17","title":"XML Code","desc":"Allows you to enter formatted/syntax-highlighted XML code","tag":"xml","useoption":"0","example":"[xml]\n \n Test\n \n[/xml]","switch_option":"0","menu_option_text":"","menu_content_text":"","single_tag":"0","optional_option":"0","image":""},"member":{"id":"31","title":"Member","desc":"Given a member name, a link is automatically generated to the member's profile","tag":"member","useoption":"1","example":"[member=skyhawk133] runs this site.","switch_option":"0","menu_option_text":"Input Username of Member","menu_content_text":"","single_tag":"1","optional_option":"0","image":"memberbbcode.png"},"extract":{"id":"33","title":"Extract Blog Entry","desc":"This will allow users to define an extract for an entry. Only this piece of the entry will be displayed on the main blog page and will show up in the RSS feed.","tag":"extract","useoption":"0","example":"[extract]This is an example![/extract]","switch_option":"0","menu_option_text":"","menu_content_text":"","single_tag":"0","optional_option":"0","image":""},"blog":{"id":"34","title":"Blog Link","desc":"This tag provides an easy way to link to a blog.","tag":"blog","useoption":"1","example":"[blog=100]Click me![/blog]","switch_option":"0","menu_option_text":"","menu_content_text":"","single_tag":"0","optional_option":"0","image":""},"entry":{"id":"35","title":"Blog Entry Link","desc":"This tag provides an easy way to link to a blog entry.","tag":"entry","useoption":"1","example":"[entry=100]Click me![/entry]","switch_option":"0","menu_option_text":"","menu_content_text":"","single_tag":"0","optional_option":"0","image":""},"twitter":{"id":"36","title":"Twitter","desc":"A tag to link to a user's twitter account","tag":"twitter","useoption":"0","example":"[twitter]userName[/twitter]","switch_option":"0","menu_option_text":"","menu_content_text":"","single_tag":"0","optional_option":"0","image":"twitter.png"},"inline":{"id":"37","title":"Inline Code","desc":"Formats code inline instead of in a seperate code box. ","tag":"inline","useoption":"0","example":"[inline]style=\"font-size: 12px;\"[/inline]","switch_option":"0","menu_option_text":"","menu_content_text":"","single_tag":"0","optional_option":"0","image":""},"il":{"id":"38","title":"Abbreviated Inline (IL)","desc":"Abbreviated version of the [inline] tag. ","tag":"il","useoption":"0","example":"[il]Code Here[/il]","switch_option":"0","menu_option_text":"","menu_content_text":"","single_tag":"0","optional_option":"0","image":"il2.png"},"code":{"id":"41","title":"Code","desc":"Allows you to enter general code","tag":"code","useoption":"1","example":"[code]$text = 'Some long code here';[/code]","switch_option":"0","menu_option_text":"","menu_content_text":"","single_tag":"0","optional_option":"1","image":""}}) ); ipb.vars['emoticon_url'] = "http://cdn.dreamincode.net/forums/public/style_emoticons/default"; //Search Setup ipb.vars['search_type'] = 'forum'; ipb.vars['search_type_id'] = 15; ipb.vars['search_type_2'] = 'topic'; ipb.vars['search_type_id_2'] = 321879; //]]>

    8 Replies - 77 Views - Last Post: Today, 01:35 PM Rate Topic: -----

    #1 OwllwO ?Icon User is offline

    Reputation: 0

    • Posts: 5
    • Joined: Yesterday, 09:04 PM

    Posted Yesterday, 09:14 PM

    Why does this code displays a triangle, i'm curious, i'm not sure if it's something related to ASCII table.
    I'm just starting to learn my first language, and as i've heard from many PRO when you're learning a new language, write, read and play with the code, test new stuff, ask why...
    So there's my "code"
    
#include <stdio.h>  int main() {  char vanilla[4]; printf(vanilla);  return 0; } 

    This post has been edited by GunnerInc: Yesterday, 09:15 PM
    Reason for edit:: Removed wacky font


    Is This A Good Question/Topic? 0

    Replies To: Why a triangle

    #2 GunnerInc ?Icon User is online

    Reputation: 723

    • Posts: 1,982
    • Joined: 28-March 11

    Re: Why a triangle

    Posted Yesterday, 09:16 PM

    Why wouldn't it print a triangle, or any other character? You defined an array but did not initialize it, so it will contain whatever garbage is on the stack. It is called undefined behavior.


    #3 OwllwO ?Icon User is offline

    Reputation: 0

    • Posts: 5
    • Joined: Yesterday, 09:04 PM

    Re: Why a triangle

    Posted Yesterday, 09:26 PM

    Thank you my friend, and sorry, maybe my qeuestio too dumb but i've just started readin Head First C, to learn C as my first language, actually i have done some "code" with Pascal, when i was in my Computer technician course, and i really the programming area, so i'm focusing on it, i've finished my course 2 years ago and i feel like i don't know nothing about programming, maybe due to my compulsion for learning a lot of things at the same time...
    Thank you


    #4 baavgai ?Icon User is offline

    Reputation: 4895

    • Posts: 11,296
    • Joined: 16-October 07

    Re: Why a triangle

    Posted Today, 04:49 AM

    Simply, you've defined a size 4 char array but didn't initialize it in any way. You then treat is as a string.

    That array is filled with random crap. The printf expects a string and will stop printing when it hits '\0'. What this means is that it will start at the address referenced by your variable, which you've allocated four bytes to, and just keep printing, probably past those four bytes.

    Given a completely random domain of 0..255, you actually only have a ~2% chance of hitting a particular char. You tend to do much better than that, because computers like to zero things out.

    You see diamonds? Please tell me aren't using Turbo-C? If you are, stop.

    There are, usually, 240+ visible characters. Less that 100 of those are your basics. The rest are specials for certain languages, but there are usually a few playful symbols. You're most likely seeing this one: ???? ( note, you may or may not see a few diamonds there. )


    #5 OwllwO ?Icon User is offline

    Reputation: 0

    • Posts: 5
    • Joined: Yesterday, 09:04 PM

    Re: Why a triangle

    Posted Today, 12:01 PM

    View Postbaavgai, on 27 May 2013 - 04:49 AM, said:

    Simply, you've defined a size 4 char array but didn't initialize it in any way. You then treat is as a string.

    That array is filled with random crap. The printf expects a string and will stop printing when it hits '\0'. What this means is that it will start at the address referenced by your variable, which you've allocated four bytes to, and just keep printing, probably past those four bytes.

    Given a completely random domain of 0..255, you actually only have a ~2% chance of hitting a particular char. You tend to do much better than that, because computers like to zero things out.

    You see diamonds? Please tell me aren't using Turbo-C? If you are, stop.

    There are, usually, 240+ visible characters. Less that 100 of those are your basics. The rest are specials for certain languages, but there are usually a few playful symbols. You're most likely seeing this one: ???? ( note, you may or may not see a few diamonds there. )


    I'm using gcc and i have DevC++ installed too, but now i'm using just the gcc, everybody says it's good, so i'm trying to get used to it.
    I'm getting a triangle...
    Here's my "code"
    Attached Image
    And my triangle
    Attached Image
    By the way, i'm not having any trouble, it just happened by chance and i got interested to it :detective:

    #6 JackOfAllTrades ?Icon User is offline

    Reputation: 5679

    • Posts: 22,558
    • Joined: 23-August 08

    Re: Why a triangle

    Posted Today, 12:13 PM

    To find out what's in memory, add this after your printf:
    
int i = 0; for (; i < sizeof(msg); ++i)     printf("%08x ", msg[i]); printf("\n");

    What does that print?


    #7 OwllwO ?Icon User is offline

    Reputation: 0

    • Posts: 5
    • Joined: Yesterday, 09:04 PM

    Re: Why a triangle

    Posted Today, 12:24 PM

    View PostJackOfAllTrades, on 27 May 2013 - 12:13 PM, said:

    To find out what's in memory, add this after your printf:
    
int i = 0; for (; i < sizeof(msg); ++i)     printf("%08x ", msg[i]); printf("\n");

    What does that print?


    See for yourself B)

    Attached Image


    #8 JackOfAllTrades ?Icon User is offline

    Reputation: 5679

    • Posts: 22,558
    • Joined: 23-August 08

    Re: Why a triangle

    Posted Today, 12:34 PM

    That's really all it prints? I would have expected three 8 hex digit numbers. On my Mac:
    
./test You entered  You entered 0000007f 00000000 00000000


    #9 ButchDean ?Icon User is online

    Reputation: 883

    • Posts: 3,358
    • Joined: 26-November 10

    Re: Why a triangle

    Posted Today, 01:35 PM

    View PostOwllwO, on 27 May 2013 - 01:14 AM, said:

    Why does this code displays a triangle, i'm curious, i'm not sure if it's something related to ASCII table.
    I'm just starting to learn my first language, and as i've heard from many PRO when you're learning a new language, write, read and play with the code, test new stuff, ask why...
    So there's my "code"
    
#include <stdio.h>  int main() {  char vanilla[4]; printf(vanilla);  return 0; } 

    When i ran the code I got this.

    Page 1 of 1


    Source: http://www.dreamincode.net/forums/topic/321879-why-a-triangle/

    Claire Danes Amy Poehler Australian Open Girls Hbo Golden Globes homeland homeland

    No comments:

    Post a Comment