• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 346
  • Last Modified:

define and strlen

#include <string.h>
#include <stdio.h>
#define IIMAGE "T";
int main(){
printf("%d",strlen(IIMAGE));
}

What is the problem of this program? I expect the output to be 1 but it keep saying syntax error on the line of printf.
What is the problem and how to correct it?
0
william007
Asked:
william007
2 Solutions
 
sunnycoderCommented:
Hi william007,

The ; in the #define ...
Remove it

Cheers!
sunnycoder
0
 
PaulCaswellCommented:
sunnycoder is right!

After pre-processing this line:

printf("%d",strlen(IIMAGE));

will become:

printf("%d",strlen("T";));

which is clearly not what you want.

Paul
0

Featured Post

Evaluating UTMs? Here's what you need to know!

Evaluating a UTM appliance and vendor can prove to be an overwhelming exercise.  How can you make sure that you're getting the security that your organization needs without breaking the bank? Check out our UTM Buyer's Guide for more information on what you should be looking for!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now