小编Spi*_*rix的帖子

如果我输入5,为什么这个程序打印25而不是27?

int main(void)
{

  int i; 
  scanf( "%d", &i );   
  i = i++ * i++ ;
  printf( "%d", i );
  getchar();
  getchar();
  return 0; 

}
Run Code Online (Sandbox Code Playgroud)

为什么打印此程序25而不是27输入5?

c

-4
推荐指数
1
解决办法
54
查看次数

-4
推荐指数
1
解决办法
1000
查看次数

为什么(1; 2; 3)是无限循环?

在打印的程序中hello:

for (1; 2; 3) 
printf ("Hello"); 
Run Code Online (Sandbox Code Playgroud)

为什么输出显示无限循环?不仅仅是for ( ; ; )无限循环吗?

c for-loop infinite-loop

-5
推荐指数
1
解决办法
133
查看次数

if('A'<= e <='Z')与if(e> ='A'&& e <='Z')之间的差异

这两者在逻辑上是相同的,但它们的工作方式不同:

if (e >='A' && e <= 'Z')
Run Code Online (Sandbox Code Playgroud)

和

if('A' <= e <= 'Z')
Run Code Online (Sandbox Code Playgroud)

第一行代码正常,但第二行不正常.为什么?

c conditional-statements

-5
推荐指数
1
解决办法
177
查看次数

在同一个表达式中对不同变量使用++或 - 运算符是否会调用UB?

我想知道是否在同一表达式未定义行为中对不同变量使用increment(++)或decrement(--)运算符; 如

int i=1,j=2;
int k=i++ + j++;
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,clang,GCC和vc中的值为k3 .

c increment decrement

-6
推荐指数
1
解决办法
56
查看次数

什么是c语言的read()

#include <stdio.h>
#include <string.h>       
#include <fcntl.h>         
#include <unistd.h>        

#define  BUFF_SIZE   5     

int main()
{
   char     buff[BUFF_SIZE];
   int      fd;
   ssize_t  rd_size;

   if ( 0 < ( fd = open( "./test.txt", O_RDONLY)))
   {
      while( 0 < ( rd_size = read( fd, buff, BUFF_SIZE-1)))   
   {
       buff[rd_size]  = '\0';      
       puts( buff);
   }
   close( fd);
   }
   else
   {
      printf( "File Fail..\n");
   }
   return 0;
   }

   as a result..


     1234
     5
     AB
     CDE

     abcd
     e
     67
     890
Run Code Online (Sandbox Code Playgroud)

这是test.txt.

12345
ABCDE
abcde
67890
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么这个程序的结果.对不起; 我不太懂英语.

我知道价值,1234但是,我不知道下一个价值.

请帮我理解这个

c

-7
推荐指数
1
解决办法
86
查看次数