11-23-2008
The mistaken value is assigned to y when execute 'y = expression;'
in gdb, 'p y' will give the mistaken value after runing the above statement.
but ' p expression' gives the right value.
block2 and block3 are like this:
if(a->is_root) c = m2 - y2;
else f = m2 - y2;
As said before:
only one statement: if(a->is_root) c = m2 - y2; // y2 normal
only one statement: if(!a->is_root) f = m2 - y2; // y2 normal
but:
if(a->is_root) c = m2 - y2;
else f = m2 - y2;
or
if(a->is_root) c = m2 - y2;
if(!a->is_root) f = m2 - y2;
both make y2 abnormal. 'y2 = expression' is far away from if__ else __ structure
Thanks for your teaching
Last edited by cdbug; 11-23-2008 at 04:28 AM..
7 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I run the following command in some of my folders... and ended up with a huge mess!!
find . -type f -exec perl -e 's/blabla/zzzxxxx/gi' -p -i.bak {} \;
I had to kill the process and later when I checked with one of my folders..
ls
vaditerm.dt.bak
vaditerm.dt.bak.bak... (2 Replies)
Discussion started by: sskb
2 Replies
2. UNIX for Advanced & Expert Users
hi there,
i am porting kernel 2.2 driver program to kernel 2.6. for some extent i am successfull but some times the system gets hanged. what might be the problem? i am not able to get any help from log messages as nothing is being printed at that moment. hey does this kernel preemptiveness and... (2 Replies)
Discussion started by: sriram.ec
2 Replies
3. UNIX for Dummies Questions & Answers
Hi,
I have noticed that rm -if will perform completely different to rm -fi. Whats the pattern of how I put my options to the script in relation to how it will act.
i.e
rm -fi treat the remove as interative but
rm -if treats it as forced
Thansk, Chris. (1 Reply)
Discussion started by: Chiefos
1 Replies
4. Virtualization and Cloud Computing
2008-10-31T22:46:14+01:00
http://geekandpoke.typepad.com/.a/6a00d8341d3df553ef010535ce543e970c-800wi
Nicholas Carr (and here) has some problems with Tim O'Reilly's theory about the cloud and the network effect.
http://feeds.feedburner.com/~f/GeekAndPoke?i=OFn0M... (0 Replies)
Discussion started by: Linux Bot
0 Replies
5. UNIX for Dummies Questions & Answers
A basic cron question and I hope I explain it enough.
If a person creates a file to use with cron and issues the followin command:
crontab
I understand this will set the cron entries to whatever is in . However, if we now edit the crontab with:
crontab -e
and save, how does cron... (3 Replies)
Discussion started by: niswonp
3 Replies
6. Shell Programming and Scripting
I want to remove commands having no output. In below text file.
bash-3.2$ cat abc_do_it.txt
grpg10so>show trunk group all status
grpg11so>show trunk group all status
grpg12so>show trunk group all status
GCPKNYAIGT73IMO 1440 1345 0 0 94 0 0 INSERVICE 93% 0%... (4 Replies)
Discussion started by: Raza Ali
4 Replies
7. Shell Programming and Scripting
Hi,
Here is my code as below:
test.ksh:
=======
#!/bin/ksh
option="${1}"
while
do
case $1 in
-f) FILE="${2}"
echo "File name is $FILE"
;;
-d) DIR="${2}"
echo "Dir name is $DIR"
;;
-*)
echo "`basename ${0}`:usage: | " (5 Replies)
Discussion started by: zaq1xsw2
5 Replies
assert(3) Library Functions Manual assert(3)
NAME
assert - Inserts program diagnostics
LIBRARY
Standard C Library (libc.a, libc.so)
SYNOPSIS
#include <assert.h>
void assert(
int expression) ;
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
assert(): XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about industry standards and associated tags.
PARAMETERS
Specifies an expression that is evaluated as TRUE or FALSE. This expression is evaluated in the same manner as a C language if control
statement.
DESCRIPTION
The assert() macro inserts diagnostics into programs. On execution, when the expression parameter is false (returns FALSE), this macro
writes information about the particular call that failed, including the text of the argument, the name of the source file, and the source-
file line number (the latter two are respectively the values of preprocessing macros __FILE__ and __LINE__) on stderr. The error message
is taken from the standard C library message catalog. The assert() macro then calls the abort() function to (normally) terminate the
process.
When you compile a program with the -DNDEBUG preprocessor option, or with the #define NDEBUG preprocessor control statement before the
#include <assert.h> statement, calls to the assert() macro have no effect.
RETURN VALUES
The assert() function returns no value.
RELATED INFORMATION
Routines: abort(3)
Standards: standards(5) delim off
assert(3)