title: Why am I getting a "statement with no effect" warning?
body: <p>The following is my code</p>
  
  <pre><code>/* Initialise default without options input. */
  options -&gt; processHiddens = false;
  options -&gt; timeResolution = DEFAULT_MOD_TIMES;
  options -&gt; performSync = true;
  options -&gt; recursive = false;
  options -&gt; print = false;
  options -&gt; updateStatus = true;
  options -&gt; verbose = false;
  options -&gt; programname = malloc(BUFSIZ);
  options -&gt; programname = argv[0];
  
  while ((opt = getopt(argc, argv, OPTLIST)) != -1)
  {
      switch (opt)
      {
          case 'a':
              !(options -&gt; processHiddens);
          case 'm':
              options -&gt; timeResolution = atoi(optarg);
          case 'n':
              !(options -&gt; performSync);
          case 'p':
              !(options -&gt; print);
          case 'r':
              !(options -&gt; recursive);
          case 'u':
              !(options -&gt; updateStatus);
          case 'v':
              !(options -&gt; verbose);
          default:
              argc = -1;
      }
  }
  </code></pre>
  
  <p>What I'm trying to do is to flip the boolean statement around each time an option is entered, hence doing something like</p>
  
  <pre><code>!(options -&gt; processHiddens);
  </code></pre>
  
  <p>instead of just </p>
  
  <pre><code>options -&gt; processHiddens = true;
  </code></pre>
  
  <p>However I'm getting the following warning when compiling:</p>
  
  <pre><code>mysync.c: In function ‘main’:
  mysync.c:32: warning: statement with no effect
  mysync.c:36: warning: statement with no effect
  mysync.c:38: warning: statement with no effect
  mysync.c:40: warning: statement with no effect
  mysync.c:42: warning: statement with no effect
  mysync.c:44: warning: statement with no effect
  </code></pre>