shadower
2015-05-27 18:48
#include <stdio.h>
int main()
{
int a = 3;
int b = 4;
char result;
result = a + b % a - b / a + a * b - a ++;
printf("%d\n",result);
printf("a = %d\n",a);
return 0;
}
这是正常跑的,输出也是正常答案。
#include <stdio.h>
int main()
{
int a = 3;
int b = 4;
char result;
result = a + b % a - b / a + a * b - a ++;
printf("result\n");
printf("a = %d\n",a);
return 0;
}
为何这个输出的是 result
a = 4
printf()中间输出的有什么规定么
怎么答不对问??printf是格式化输出函数 你上面说输出正常的代码 确定正常吗 我表示怀疑 看代码你会了解的
#include <stdio.h> int main() { int a=3; int b=4; printf("a = %d;b=%d\n",a,b);//输出a = 3;b=4 printf("a = ;b=\n");//输出 a = ;b= printf("result\n");//输出result /* 第一个%d表示整形变量a的值 第二个%d表示整形变量b的值 如果后面还跟个%f什么的 那么后面跟在b变量后面就是浮点型变量了 都是一一对应的 printf("result\n")没有相关替代符,后面参数也没跟上变量或值所以直接当字符串输出 还有你第一遍说运行正常里面的代码 char result 应该是int result 定义成整形变量而不是字符型 学c 数据类型千万别弄错 至于你为什么不出错我也奇怪可能是对数值型字符型变量要求不严格 直接当成整形了 我也是新手 忘大牛解释为什么不出错 */ return 0; }
在给一个变量赋值的时候使用++a或者 a++ 在此表达式后都会为a的值加1,(区别在于在赋值的时候是否计算a++或者++a的值)
printf是直接输出括号里的内容的,result当然会输出。a=4,你使用了表达式当然会输出a=4.明白吗?
C语言入门
926028 学习 · 20793 问题
相似问题