c語言反轉
㈠ C語言:短整型的低四位反轉問題(輸入輸出看說明),咋編
題目肯定是在早期的C環境下,因為早期的int是16bit,所以才把8bit的數據叫「短整型」;以後int是32bit了,所以實際上題目是說把一個char型數據進行處理。
按照說明,這也不叫「反轉」,應該叫按位取反;因為「反轉」的意思是把1234二進制位倒過來,即若是1101則變成1011,而按此題則應輸出0010。
代碼文本:
#include "stdio.h"
int main(int argc,char *argv[]){
char ch;
printf("Please enter a letter... ");
if(scanf(" %c",&ch)==1 && (ch>='A' && ch<='Z' || ch>='a' && ch<='z'))
printf("0x%x ",ch^0x0F);
else
printf("Input error, exit... ");
return 0;
}
㈡ !在C語言中什麼意思
在C語言中,"!"表示邏輯非操作。它通常用於條件語句和表達式中,用來反轉表達式的邏輯值。例如,如果一個表達式的值為真(非零),則"!"會將其轉換為假(0);反之亦然。具體來說,"!= "表示不等於。在使用時,應該注意C語言中的"!"與數學中的階乘符號"!"是兩個不同的概念。在數學中,"!"代表階乘運算,而在C語言中,則是邏輯非操作。
例如,在條件語句中,"!"可以用來檢查一個變數是否為0,如果變數為0,則表達式為真,"!"會將其轉換為假;如果變數不為0,則表達式為假,"!"會將其轉換為真。而"!="用於比較兩個值是否不相等。比如,表達式 "x != y" 會檢查x和y是否不相等,如果不相等,則表達式的值為真。
因此,在編程時,程序員需要注意區分這兩個符號的不同含義。雖然它們在符號上看起來相似,但它們的功能和用途截然不同。正確理解它們的含義對於編寫准確無誤的程序至關重要。
通過理解這些概念,開發者可以更加靈活地使用C語言中的邏輯運算符,從而寫出高效、准確的代碼。希望這些信息對你有所幫助。
㈢ C語言反轉數字的問題,拜託大神幫我看下我寫的哪裡不對
你不認為每一次從一個整數里取出一個數位上的數比較麻煩么?
難道不可以把一個數的個位取出來(劃掉),記下這個數;再取出一個個位數(劃掉),在剛才記下的數後面繼續寫第二個數……
#include<stdio.h>
intmain()
{
intn;
intsign,number;
intans;
scanf("%d",&n);
sign=n>0?1:-1;
number=n*sign;
ans=0;
while(number)
{
ans=ans*10+number%10;
number/=10;
}
ans*=sign;
printf("%d ",ans);
return0;
}