Final answer:
option b.The statement is false; pointer arithmetic is fully operative on char pointers. Arithmetic on a char pointer adjusts the pointer by one byte increments, allowing for operations like string manipulation.
Step-by-step explanation:
The statement that pointer arithmetic only works with pointers of numeric types like long and int, and does not work with pointers of type char, is false. In C and C++, pointer arithmetic is fully applicable to pointers of type char.
In fact, char pointers are often used with pointer arithmetic for string manipulation. Since a char in C is one byte, incrementing a char pointer moves the pointer to the next byte in memory. Similarly, subtracting from a char pointer moves it to the previous byte. These operations are common when dealing with arrays of characters, such as strings in C.
Pointer arithmetic is based on the size of the data type pointed to by the pointer. Hence, when you increment a pointer, you increase the address it holds by the size of the data type. For char types, which are typically one byte, this means the address increases by one.