access violation error
Wyverex
wyverex.cypher at gmail.com
Wed Aug 13 14:23:05 PDT 2008
Michael P. wrote:
> /* junior304.d
> 2008 junior problem 3
> Smile with similies
> Ask for 2 numbers; the number of adjectives and nouns
> After you get the numbers and nouns and adjectives, out all possible similies
> August 12th, 2008 */
>
> //Imports
> import std.stdio;
>
> /*****
> *Main*
> *****/
> void main()
> {
> int numberOfAdjectives;
> scanf( "%d", &numberOfAdjectives );
> int numberOfNouns;
> scanf( "%d", &numberOfNouns );
>
> char[][] adjectives; //array of strings to hold the adjectives
> adjectives.length = 6; //max number that user enters is 5, 6 to be safe
> char[][] nouns; //same as above, but for nouns
> nouns.length = 6; //same as adjectives reason
>
> //get adjectives first
> for ( int i = 0; i < numberOfAdjectives; i++ ) //get the specified # of adjectives
> {
> scanf( "%s", &adjectives[ i ] );
> }
>
> //now get the # of nouns specified
> for ( int i = 0; i < numberOfNouns; i++ )
> {
> scanf( "%s", &nouns[ i ] );
> }
>
> //print out all possible similies
> for ( int i = 0; i < numberOfAdjectives; i++ )
> {
> for ( int j = 0; j < numberOfNouns; j++ )
> {
> //for every adjective, place a noun after and turn it into a similie
> writefln( "%s as %s", adjectives[ i ], nouns[ j ] );
> }
> }
> }
>
>
> I get an accessviolation when I enter the last 2 for loops; any reason why?
>
> Input is:
> 3
> 2
> Easy
> Soft
> Smart
> pie
> rock
>
> error!
quick fix is to use printf
printf( "%s as %s", &adjectives[ i ], &nouns[ j ] );
i think (not sure don't really use phobos that much) scanf doesn't
return strings in a format writef likes...
I though theres a readf but cant find documentation on it...
More information about the Digitalmars-d-learn
mailing list