c语言如何把char s;随便给s赋值,让t[]="(给s赋得值)"

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言如何把char s;随便给s赋值,让t[]="(给s赋得值)"相关的知识,希望对你有一定的参考价值。

例如s=110.11(或1235.52之类的)变成他t[]="110.11(或1235.52)"

参考技术A 首先 char类型只允许一个字符 其次C语言不允许这样赋值 你可以一个一个的将S内的字符读入
然后进行运算 最后赋值给t[]
例如 先读进s的第一个1 判断后将1赋值给a 读进第二个1 将a乘以10再加上这个数字即1得到a为11,然后读进s第三个字符0然后将a乘10加上0读进小数点后a不在乘十再加上小树点后的数字得出a为110.11 是个数字 不是字符 这样就将字符转化为数字 最后将a赋值给t[]
参考技术B 你这个情况不能称为“赋值"的,因为你只是定义了一个数组而已,数组里面的元素都是可以改变的,唯独数组名作为常量不能被二次改变,strcpy 函数的作用是把字符串hello拷贝到s所代表的内存空间去,sizeof(string) 改值是大于hello字符串的,所以你可以拷贝,如果你想拷贝过长的字符串由于内存不够就会报段错误了。
还有一种情况是 你定义了一个字符指针char * s = ”string“;这么定以后s本身可以被重新赋值,但是却不能用strcpy函数,因为s指向的是一个字符串常量!!你不能对s指向的常量进行修改。否则会出现程序崩溃的情况。这根上面的情况真好相反。不过大原则是相同的,那就是常量不能被赋值!!
参考技术C 你想要的结果 需要把每一位都算出来,然后让每一个数字加48就得到该数字的ASCll码
例如算的每一位 为1 2 4 5,那么转换后就变成了“1245”,因为 数字和他的ASCLL码之间的差是48, 如数字0的ASCLL码是48 即“0”,数字1的ASCLL码是49 即“1 .....以此类推”
参考技术D char 类型存不下110.11或1235.52 , 强行赋值会导致数据丢弃。所以LZ看不到相应的结果。
可行的操作:
double f=1235.52;
char t[32];
sprintf(t , "%.2lf" , f );追问

sprintf 这个语句是怎么用的?

追答

与printf语句一样,你查一下C函数就可以了

本回答被提问者采纳
第5个回答  2011-09-21 t[]是一个数组,而s是一个变量,把一个变量赋值给一个数组我好像没听过,只能把一个变量赋值给数组中的一个元素吧!!!!
如t[0]=s;

c++ 如何把一个int转为char*

参考技术A

把int类型数字转成char类型,可以使用以下方法:

char b[4];i

nt a;

for(int i=00;i<4;i++)

b[i]=(char)a;

a=a>>8;

int用于符号∫,int(s)符号表达式s的不定积分。int(s,v)符号表达式s关于变量v的不定积分。int(s,a,b)符号表达式s的定积分, a,b分别为积分的下限和上限。

int(s,v,a,b)符号表达式s关于变量v从 a到b的定积分,当int求不出符号解,会自动转求数值解。

扩展资料

如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。

指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。

以上是关于c语言如何把char s;随便给s赋值,让t[]="(给s赋得值)"的主要内容,如果未能解决你的问题,请参考以下文章

c语言指针变量?

C语言,如何给3个char变量赋值?不能直接char a='D',这种。要求用printf,scanf.

C++问题,怎么把char数组以ASCII码赋值给CString

C语言 写一个把一个字符串分成若干个数组

c语言结构体

C语言 结构复制