C问题---char类型赋值问题;
2009-09-25 11:26
190 查看
-------------------------------------
典型例题9:C问题---char类型赋值问题;
-------------------------------------
1 #include <stdio.h>
2
3 int main(int argc, char * argv[])
4 {
5 char *a = "yes";
6 char b = 'yesdf';
7 printf("%s/n",a);
8 printf("%c/n",b);
9 puts("--------/n");
10 printf("/n");
11 putc('/n',stdout);
12 puts("--------/n");
13
14 return 0;
15 }
--------------------------
$ ./test
yes
f
--------
--------
--------------------------
算法分析:
6 char b = 'yesdf';
目前,vc ,gcc的做法是依次取后一个字符替换前一个字符,最后得到整数值就是最后一个字符的整数值;但该表达式的含义未准确定义。
可能其他编译器的做法是直接忽略多余的字符,取第一个字符的整数值作为该表达式的右值赋给b;
典型例题9:C问题---char类型赋值问题;
-------------------------------------
1 #include <stdio.h>
2
3 int main(int argc, char * argv[])
4 {
5 char *a = "yes";
6 char b = 'yesdf';
7 printf("%s/n",a);
8 printf("%c/n",b);
9 puts("--------/n");
10 printf("/n");
11 putc('/n',stdout);
12 puts("--------/n");
13
14 return 0;
15 }
--------------------------
$ ./test
yes
f
--------
--------
--------------------------
算法分析:
6 char b = 'yesdf';
目前,vc ,gcc的做法是依次取后一个字符替换前一个字符,最后得到整数值就是最后一个字符的整数值;但该表达式的含义未准确定义。
可能其他编译器的做法是直接忽略多余的字符,取第一个字符的整数值作为该表达式的右值赋给b;
相关文章推荐
- C++中 关于结构体中有char *类型的指针 赋值问题
- char类型的几种赋值问题
- int、short、char 类型超出范围赋值问题__原码,反码,补码
- Java中char和int类型的转换问题
- java中String类型变量的赋值问题介绍
- 反射给对象赋值遇到的问题——类型转换[转http://blog.csdn.net/xiaohan2826/article/details/8536074]
- C#中string类型赋值问题
- plsql登陆及数据库char类型问题
- Linux下char类型可能带来的问题
- 全局结构体变量的初始化以及将结构体变量转换为char类型输出问题
- char类型数据的输出问题(上)
- JPA执行原生SQL截断Char类型问题
- java学习---char和int的类型转换问题
- ARM上char类型问题
- char * 类型的变量和 char 型数组重新赋值
- sql server 数据类型以及SqlParameter赋值时遇到的问题
- c语言打印字符乱码和char *字符循环赋值时“段错误 (核心已转储)”问题解决
- VS2015,qt 5.7.1,编译使用QString的toWCharArray时出现无法解析的toWCharArray(unsigned char*)的问题,无法正确识别WChar_t类型
- java读取数据库char类型字段问题
- 关于2147217913 从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界 的问题解决方法