Search Results

Search found 916 results on 37 pages for 'stdio'.

Page 14/37 | < Previous Page | 10 11 12 13 14 15 16 17 18 19 20 21  | Next Page >

  • how to make this piece of code work in C++?

    - by cambr
    #include<stdio.h> void print(int *arr[], int s1, int s2) { int i, j; printf("\n"); for(i = 0; i<s1; i++) { for(j = 0; j<s2; j++) { printf("%d, ", *((arr+i)+j)); } } printf("\n"); } int main() { int a[4][4] = {{0}}; print(a,4,4); } This works in C, but not in C++. error: cannot convert `int (*)[4]' to `int**' for argument `1' to `void print(int**, int, int)' Why does it not work in C++? What change is needed to be made?

    Read the article

  • Can't subtract in a for loop in C/Objective-C

    - by user1612935
    I'm going through the Big Nerd Ranch book on Objective-C, which takes you through some early C stuff. I've played with C before, and am pretty experienced in PHP. Anyhow, I'm doing the challenges and this one is not working the way I think it should. It's pretty simple - start at 99, loop through and subtract three until you get to zero, and every time you get a number that is divisible by 5 print "Found one." Pretty straightforward. However, subtracting by three in the for loop is not working #include <stdio.h> int main (int argc, const char * argv[]) { int i; for(i = 99; i > 0; i-3){ printf("%d\n", i); if(i % 5 == 0) { printf("Found one!\n"); } } return 0; } It creates and endless loop at 99, and I'm not sure why.

    Read the article

  • Using sizeof with a dynamically allocated array

    - by robUK
    Hello, gcc 4.4.1 c89 I have the following code snippet: #include <stdlib.h> #include <stdio.h> char *buffer = malloc(10240); /* Check for memory error */ if(!buffer) { fprintf(stderr, "Memory error\n"); return 1; } printf("sizeof(buffer) [ %d ]\n", sizeof(buffer)); However, the sizeof(buffer) always prints 4. I know that a char* is only 4 bytes. However, I have allocated the memory for 10kb. So shouldn't the size be 10240? I am wondering am I thinking right here? Many thanks for any suggestions,

    Read the article

  • Same memory space being allocated again & again

    - by shadyabhi
    In each loop iteration, variable j is declared again and again. Then why is its address remaining same? Shouldn't it be given some random address each time? Is this compiler dependent? #include<stdio.h> #include<malloc.h> int main() { int i=3; while (i--) { int j; printf("%p\n", &j); } return 0; } Testrun:- shadyabhi@shadyabhi-desktop:~/c$ gcc test.c shadyabhi@shadyabhi-desktop:~/c$ ./a.out 0x7fffc0b8e138 0x7fffc0b8e138 0x7fffc0b8e138 shadyabhi@shadyabhi-desktop:~/c$

    Read the article

  • C/C++ function definitions without assembly

    - by Jack
    Hi, I always thought that functions like printf() are in the last step defined using inline assembly. That deep into stdio.h is burried some asm code that actually tells CPU what to do. Something like in dos, first mov bagining of the string to some memory location or register and than call some int. But since x64 version of Visual Studio doesent support inline assembler at all, it made me think that there are really no assembler-defined functions in C/C++. So, please, how is for example printf() defined in C/C++ without using assembler code? What actually executes the right software interrupt? Thanks.

    Read the article

  • Is it a header file or library? in a makefile

    - by gccinac
    I already know the differences between a header file and a library. However, when I'm writing my makefile, I have some difficulties on deciding if I should put something as a dependency of the file or just at the linking rule. For example: I have 2 simple files: main.c: #include <stdio.h> main(){ printf("this is the sine or 90"); sinus(90); } and func.c: #include <math.h> sinus(int num){ return sin(num); } and my makefile is: main: main.o func.o gcc main.o func.o -lm -o main func.o: func.c main.o: main.c Well, my question is why this makefile works and this one doesn't: main: main.o func.o gcc main.o func.o -lm -o main func.o: func.c math.h main.o: main.c

    Read the article

  • Why does this C program compile?

    - by AdmiralJonB
    I've just come across someone's C code that I'm confused as to why it is compiling. There are two points I don't understand. First, the function prototype has no parameters compared to the actual function definition. Secondly, the parameter in the function definition doesn't have an type. #include <stdio.h> int func(); int func(param) { return param; } int main() { int bla = func(10); printf("%d",bla); } Could someone please explain to me why this works? I've tested it in a couple of compilers and it works fine.

    Read the article

  • Whats wrong with this C program?

    - by Prab
    It should give me the number of inputs entered by the user. But it gives 100. I compiled with gcc. #include <stdio.h> int arr[100]; int count=0; int max=100; int main(){ int i, input; printf("Enter integer values one by one, q to quit.\n"); for(i=0;i<max;i++){ scanf("%d",&input); arr[i]=input; if(input=='q')break; count++; } printf("You entered %d values.\n",count); return 0; }

    Read the article

  • ' \r ' vs ' \n ' in C

    - by MCP
    I'm writing a function that basically waits for the user to hit "enter" and then does something. What I've found that works when testing is the below: #include <stdio.h> int main() { int x = getc(stdin); if (x == '\n') { printf("carriage return"); printf("\n"); } else { printf("missed it"); printf("\n"); } } The question I have, and what I tried at first was to do: "if (x == '\r')" but in testing, the program didn't catch me hitting enter. The '\n' seems to correspond to me hitting enter from the console. Can someone explain the difference? Also, to verify, writing it as "if... == "\n"" would mean the character string literal? Ie the user would literally have to enter "\n" from the console, correct? Thanks!

    Read the article

  • Redundant naming in C/C++ typedefs/structs

    - by bloomy
    #include <stdio.h> #include <string.h> const int NAMELEN=30; const int MAXCLASSSIZE=10; typedef struct StudentRec { char lastname[NAMELEN]; char firstname[NAMELEN]; long int ID; int finalmark; }Student; I'm new to coding..and I have a question about why there is Student; after the bracket.. is it a format that we have to follow.

    Read the article

  • trying to sort a simple string in c++

    - by every_answer_gets_a_point
    #include "stdio.h" #include "conio.h" #include <iostream> using namespace std; int main (void) { char my_char[] = "happy birthday"; int i; bool j=false; char my_char_temp[1]; do { for (i=0;i<sizeof(my_char)-2;i++) { j=false; if (my_char[i+1] < my_char[i]) { my_char_temp[0]=my_char[i+1]; my_char[i+1] = my_char[i]; my_char[i] = my_char_temp[0]; j=true; } } }while (j); cout << my_char; } what am i doing wrong? im just trying to sort the letters within the char the output i get is completely wrong

    Read the article

  • Can func get the lineno who call itself? (C/C++)

    - by kingkai
    Hi, I've a problem , as the following code discribe itself. 1 #include<stdlib.h> 2 #include<stdio.h> 3 void log() 4 { 5 printf("Log [Line:%d]\n",__LINE__); 6 } 7 int main() 8 { 9 log(); 10 log(); 11 } The expected result is Log [Line:9] Log [Line:10] But, the fact is Log [Line:5] Log [Line:5] No surprising, LINE has been substituted at the pre-process stage as 5. My Question is, how to design the log function to get the expected result? Thanks!

    Read the article

  • Problem with Initializing Consts

    - by UdiM
    This code, when compiled in xlC 8.0 (on AIX 6.1), produces the wrong result. It should print 12345, but instead prints 804399880. Removing the const in front of result makes the code work correctly. Where is the bug? #include <stdio.h> #include <stdlib.h> #include <string> long int foo(std::string input) { return strtol(input.c_str(), NULL, 0); } void bar() { const long int result = foo("12345"); printf("%u\n", result); } int main() { bar(); return 0; } Compilation command: /usr/vacpp/bin/xlC example.cpp -g

    Read the article

  • a macro question for c language (#define)

    - by Daniel
    I am reading source code of hoard memory allocator, and in the file of gnuwrapper.cpp, there are the following code #define CUSTOM_MALLOC(x) CUSTOM_PREFIX(malloc)(x) What's the meaning of CUSTOM_PREFIX(malloc)(x)? is CUSTOM_PREFIX a function? But as a function it didn't defined anywhere. If it's variable, then how can we use variable like var(malloc)(x)? more code: #ifndef __GNUC__ #error "This file requires the GNU compiler." #endif #include <string.h> #include <stdlib.h> #include <stdio.h> #include <malloc.h> #ifndef CUSTOM_PREFIX ==> here looks like it's a variable, so if it doesn't define, then define here. #define CUSTOM_PREFIX #endif #define CUSTOM_MALLOC(x) CUSTOM_PREFIX(malloc)(x) ===> what's the meaning of this? #define CUSTOM_FREE(x) CUSTOM_PREFIX(free)(x) #define CUSTOM_REALLOC(x,y) CUSTOM_PREFIX(realloc)(x,y) #define CUSTOM_MEMALIGN(x,y) CUSTOM_PREFIX(memalign)(x,y)

    Read the article

  • Why does a non-constant offsetof expression work?

    - by Chris J. Kiick
    Why does this work: #include <sys/types.h> #include <stdio.h> #include <stddef.h> typedef struct x { int a; int b[128]; } x_t; int function(int i) { size_t a; a = offsetof(x_t, b[i]); return a; } int main(int argc, char **argv) { printf("%d\n", function(atoi(argv[1]))); } If I remember the definition of offsetof correctly, it's a compile time construct. Using 'i' as the array index results in a non-constant expression. I don't understand how the compiler can evaluate the expression at compile time. Why isn't this flagged as an error?

    Read the article

  • string reverse without new array

    - by Codeguru
    hi can anybody tell me the error in this? #include<stdio.h> int main() { char a[]="abcdefgh"; int i=0; int n=strlen(a); char *first; char *second; char *c; *first=a[0]; *second=a[7]; for(i=0;i<=n/2;i++) { *c=*first; *first=*second; *second=*c; first++; second--; } for(i=0;i<=7;i++) { printf("%c",a[i]); } }

    Read the article

  • floating point exception in C++ code !

    - by mekasperasky
    #include<stdio.h> #include<math.h> int main () { FILE *fp; fp=fopen("output","w"); float t,y=0,x=0,e=5,f=1,w=1; for (t=0;t<10;t=t+0.01) { if( y==inf && y== nan) break; fprintf(fp,"%lf\t%lf\n",y,x); y = y + ((e*(1 - x*x)*y) - x + f*cos(w*t))*t; x = x + y*t; } return (0); } why is the ouput giving infinite and NAN values?

    Read the article

  • xcode 4 creating a 2d grid (range and domain)

    - by user1706978
    I'm learning how to program c and i'm trying to make a program the finds the range (using an equation with x as the domain) of a 2d grid...ive already attempted it, but it's giving me all these errors on Xcode, any help?(As you can see, I'm quite stuck!) #include <stdio.h> #include <stdlib.h> float domain; float domain = 2.0; float domainsol(float x ) { domain = x; float func = 1.25 * x + 5.0; return func; } int main(int argc, const char * argv[]) { }

    Read the article

  • Strange macro declaration in C

    - by Andrey Atapin
    Exploring libusb-1.0.9 source code, I have found such line (./os/poll_windows.c:78): #define CHECK_INIT_POLLING do {if(!is_polling_set) init_polling();} while(0) As for me this is the same like: #define CHECK_INIT_POLLING if(!is_polling_set) init_polling(); Is there any reason to loop that expression? UPDATE: I couldn't still realize what'd be wrong after the answers, and the following example helped: #include <stdio.h> #define TEST if(test) foo(); #define TEST_DO do { if(test) foo(); } while(0) int test = 1; void foo() { printf("%s", "Foo called"); } int main(int argc, char** argv) { if(argc > 1) TEST_DO; /* LINE 12 */ else printf("%s", "skipping..."); return 0; } If you put TEST at line 12, a compiler will give an error "error: ‘else’ without a previous ‘if’". Hope, this will help someone.

    Read the article

  • Structure within union and bit field

    - by java
    #include <stdio.h> union u { struct st { int i : 4; int j : 4; int k : 4; int l; } st; int i; } u; int main() { u.i = 100; printf("%d, %d, %d", u.i, u.st.i, u.st.l); } I'm trying to figure out the output of program. The first outputs u.i = 100 but I can't understand the output for u.st.i and u.st.l. Please also explain bit fields.

    Read the article

  • why does it use the movl instead of push ?!

    - by user554403
    hi all. pay attention to this code : #include <stdio.h> void a(int a, int b, int c) { char buffer1[5]; char buffer2[10]; } int main() { a(1,2,3); } after that : gcc -S a.c that command shows our source code in assembly. now we can see in the main function, we never use "push" command to push the arguments of the a function into the stack. and it used "movel" instead of that main: pushl %ebp movl %esp, %ebp andl $-16, %esp subl $16, %esp movl $3, 8(%esp) movl $2, 4(%esp) movl $1, (%esp) call a leave why does it happen? what's difference between them?

    Read the article

  • What is the problem with this code?

    - by eSKay
    #include<stdio.h> class A { public: int a;}; class B: public A { public: static int b; B(){ b++; printf("B:%d\n",b); } }; int main() { A* a1 = new B[100]; A* a2 = new B(); return 0; } Error: In function `main': undefined reference to `B::b' undefined reference to `B::b' undefined reference to `B::b' undefined reference to `B::b'

    Read the article

  • what's wrong with my one-liner strncpy: while(*s++ = *t++ && n-- > 0);?

    - by pvd
    #include <stdio.h> #define STR_BUF 10000 #define STR_MATCH 7 void mystrncpy(char* s, char* t, int n) { while(*s++ = *t++ && n-- > 0); } int main() { int result; char str_s[STR_BUF] = "not so long test string"; char buf_1[STR_BUF]; mystrncpy(buf_1, str_s, STR_MATCH); printf ("buf_1 (mystrncpy, 7 chars): %s\n", buf_1); return 0; } When I run it, nothing happened ian@ubuntu:~/tmp$ gcc myncpy.c -o myn&&./myn buf_1 (mystrncpy, 7chars):

    Read the article

  • Limited recursion in C?

    - by function
    I ran this program and it output ... 65088 65089 65090 and then it stopped. Windows 7 said a.exe stopped working. Here is the code: #include <stdio.h> void go(void); main() { go(); } void go(void) { static int i = 0; printf("%d\n", i++); go(); } I think this program should keep on printing numbers indefinitely due to recursion, but it stops at 65090! The C code is compiled with gcc. Any ideas?

    Read the article

  • c language:make fgets to keep taking input until I press enter twice?

    - by wello horld
    hi I would like to ask how I would modify this code for the question: (It only accepts one input then prints it out. I want it to keep going until I hit enter (\n) twice. #include <stdio.h> #define MAXLENGTH 1000 int main(void) { char string[MAXLENGTH]; fgets(string, MAXLENGTH, stdin ); printf("%s\n", string); return 0; } I'm confused at the fgets(string, MAXLENGTH, stdin ); line, what does stdin mean/do?

    Read the article

< Previous Page | 10 11 12 13 14 15 16 17 18 19 20 21  | Next Page >