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;
}