printf-求问:C语言 格式限定符类型的问题

问题描述

求问:C语言 格式限定符类型的问题

有时不小心错用了格式限定符,例如:
int x;
scanf("%f", &x); <----- 应该用%d
printf("%g", x); <----- 应该用%d
而编译程序却编译通过了,没有发现错误,为什么?

解决方案

c语言中有强转这个东西,从这个角度也可以理解,c语言功能之所以强大,是因为限制很少,说白了,什么类型在内存中都是连续的01而已

解决方案二:

编译器不会检查这些的。这很正常。好比你的汽车不会阻止你闯红灯一样。

解决方案三:

楼上说得对。这些只能自己好好看书。

时间: 2024-12-28 16:52:43

printf-求问:C语言 格式限定符类型的问题的相关文章

求问c语言中如何输入这样的形式,很简单的求回答

问题描述 求问c语言中如何输入这样的形式,很简单的求回答 输入1 2 23 45 23 34 这样的形式, 很简单,但是我一时想不到,求解答,菜鸟求帮助 解决方案 int a; int b; printf("%d %dn",a,b); 解决方案二: 看不懂你输入的内容有什么规律,如果只是想连同空格一起输入,那直接在控制窗口敲空格就行,编译器读取流时若发现空格不是想要读取的内容,会自动跳过.

c语言-菜鸟求问C语言,if,else

问题描述 菜鸟求问C语言,if,else #include #include char *compare(char *,char *); int main() { char *a1="assss"; char *a2="q"; char *big; big=compare(a1,a2); printf("%s",big); return 0; } char *compare(char *a,char *b) { char *c; int ptr;

c语言-求问C语言大神,帮忙看一下这道题~~

问题描述 求问C语言大神,帮忙看一下这道题~~ 分离单词 Description 编写程序以字符串为单位,以空格或标点符号(字符串中仅含英文逗号','或小数点'.'作为标点符号)作为分隔符,对字符串中所有单词进行倒排,然后把已处理的字符串(应不含标点符号)打印出来. Input 输入一个字符串(包含大小写字母.空格.逗号或小数点) Output 输出处理后的字符串. Sample Input I am a student. I like study. Sample Output study li

求解决-c语言数据变量赋值类型

问题描述 c语言数据变量赋值类型 假定有一个程序,它把一个long整型变量赋值给一个short整型变量.当你编译程序的时候会发生什么情况?当你运行程序时会发生什么情况?你认为其他编译器的结果是否也是如此? 解决方案 long整型变量赋值给一个short整型 会报错,类型转换出错,long转short大范围转小范围错误 解决方案二: C语言是一种简陋而充满陷阱的语言,它需要程序员格外小心,而不是依赖完备的运行时检查和编译检查. 其它编译器,如果是C编译器,大多如此.当然现代的C++编译器,比如VC

简单总结C++中的修饰符类型_C 语言

C++ 允许在 char.int 和 double 数据类型前放置修饰符.修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求. 下面列出了数据类型修饰符: signed unsigned long short 修饰符 signed.unsigned.long 和 short 可应用于整型,signed 和 unsigned 可应用于字符型,long 可应用于双精度型. 修饰符 signed 和 unsigned 也可以作为 long 或 short 修饰符的前缀.例如:unsigned

c语言-求问一个C语言字符指针的问题

问题描述 求问一个C语言字符指针的问题 #include void Initialize (char * a, char * b) { a[0] = 'T'; a[1] = 'h'; a[2] = 'i'; a[3] = 's'; a[4] = ' '; a[5] = 'i'; a[6] = 's'; a[7] = ' '; a[8] = 'A'; a[9] = ''; b = a; b[8] = 'B'; } #define ARRAY_SIZE 10 char a[ARRAY_SIZE];

c语言基础-c语言格式符的问题.....

问题描述 c语言格式符的问题..... 有人知道这个符号%*.*f是什么意思吗??????????????? 解决方案 %*.*f 表示域宽和精度从后面的变量列表中取值 printf("%m.nf", x);表示后面最多保留n个小数位,前面最多保留m个整数位

求问一个关于c语言指针问题

问题描述 求问一个关于c语言指针问题 char* s = "hello";的详细解释,大神们发出自己的高见吧 解决方案 char* s = "hello"; 分开看: char *s;//定义一个字符指针 s = "hello"; //赋值 //该指针首地址指向字符串的第一个位置,s[0]='h' s[1]='e';就这个意思 //输出printf("%s",s);输出字符串,自s指向的首字母一直输出至字符串结束hello /

c语言 内存问题-c语言新手,写了个简单程序,没问题啊,怎么就出现这种问题呢,求问

问题描述 c语言新手,写了个简单程序,没问题啊,怎么就出现这种问题呢,求问 1C 这是程序 这是输入的数据,3个人名 这是出现的异常,不懂是为什么啊?有人给说说吗 解决方案 看着像是访问变量出问题了,你怎么不放代码放截图怎么看的清.最好放代码别人好调试 解决方案二: 楼主这种要存好几个字符串的,要么用二维数组,要么用指针数组 #include<iostream>using namespace std;void main() { int i; char *name[4]; //创建指针数组,含有