花了好多分都没得到满意答案,再花点分求解惑我用的是DEV-C++4.9.9.2编译器
输入如下程序
#include<stdio.h>
main()
{
int i,j=1;
for(i=1;i<=3;i++)
printf(i==3?"%4d\n":"%4d",i*j);
输出结果是 1 2 3
可我按照定义来计算 输出应该是 1 2
才对啊 前几天问了2遍,别人的编译器都是 1 2
就我的 还是 1 2 3
编译环境到底怎么搞啊 我就是下载安装选择中文环境 就开始学习了
[解决办法]
for(i=1;i<=3;i++)
你是i<=3,不是<3,当然是执行3次循环,i分别=1,2,3。
printf(i==3?"%4d\n":"%4d",i*j);意思是,当i==3时,使用"%4d\n"格式化,否则使用"%4d"格式化,后面的i*j不管i为多少总是要输出的,只是不同的情况输出格式不一样,即换不换行的问题。