所以我正在用C语言写一个练习程序,它的目的是接受用户输入,然后在达到EOF之后,它会读回输入,但只读回长度超过10个字符的行。
我在Linux上,所以EOF是Ctrl + D,但是,如果输入行长于10,则在我按enter时打印,而不是等到到达EOF。
下面是我的代码:
#define MAXSIZE 1000
#define SIZE 10
int checklen(char line[], int index);
int main()
{
char currentline[MAXSIZE];
int i = 0;
while ((currentline[
有许多IO计算的结果并不重要,它们依赖于同一个上下文变量。我想用一种美学的方法把这个论点传递给所有的功能。
说我要打印几次字符
c = 'c'
main = do
putChar c
putChar c
putChar c
但我不想每次都写参数。
以下功能很好:
samearg :: (Foldable t, Monad m) => t (a -> m ()) -> a -> m ()
samearg fs ctx = foldl (\d f -> d >>= \_ -> f ctx) (return ()) fs
(
我们的老师用C语言给了我们一个练习,我们必须创建一个程序,它可以接受三个整数,如果它们是奇数或偶数,则输出它们,而不使用数组,只能使用循环和条件语句。我只能使用scanf()、printf()、循环和条件语句。我不能有像odd1,odd2,odd3,even1,even2,Even3这样的多个变量,我也不能做scanf(“%d%d%d”),所以我必须在一个循环中运行scanf(" %d“)三次,我想不出任何办法可以精确地打印出预期输出的相同格式。我希望有人能在这方面帮助我。
#include <stdio.h>
int main() {
int i, num;
我想每一行打印一个单词,但是输出没有打印每个字的最后一个字符。有人能帮忙找出错误吗?
#include <stdio.h>
#define IN 1 /* Inside a text */
#define OUT 0 /* Outside a text */
main()
{
int c,nw,state;
state=OUT;
while((c=getchar())!=EOF)
{
if(c==' '||c=='\n'||c=='\t')
我知道递归步骤应该简化表达式,但在这种情况下,我看不出它是如何实现的。它不应该通过使用"&sPtri++“并进行适当的修改来增加"&sPtr1”,直到达到基本情况为止吗?
// recursively outputs characters in string in reverse order
void reverse( const char * const sPtr )
{
// if end of the string
if ( '\0' == sPtr[ 0 ] ) { // base case
return
我编写这个程序是为了锻炼自己的按位运算。在下面的代码行中,我尝试逐位分配三个short的值。然后通过bit_print()函数打印它们。
#include <stdio.h>
#include <limits.h>
void bit_print(short a)
{
int i;
int n = sizeof(short) * CHAR_BIT; /* in limits.h */
short mask = 1
我目前正在1.5.1章中复制文件,并编写了如下程序:
#include <stdio.h>
/* copy input to output; 1st version */
main()
{
int c;
c = getchar();
while (c != EOF) {
putchar(c);
c = getchar();
}
}
如果我像这样运行:
PS <..loc..> cc copy-0.c
PS ./a
Black
Black
White
White
Gray
Gray
输出是我输入的。
这是
#include<stdio.h>
#include<stdlib.h>
void displayEightBits( unsigned int value );//prototype
int main(void){
unsigned int x;
printf( "%s", "Enter a nonnegative int: " );
scanf( "%u", &x );
displayEightBits( x );
}
void displayEightBits( unsigned i
通过K&R的C编程语言,我为练习1-12编写了一段代码,对于所有的意图和目的似乎都是有效的。然而,我开始好奇如何调整它以适应跨越多行的更长的输入。我编写的当前程序一点击enter就会终止输入。是否有一种方法来调整程序,使输入只在我想要的时候终止,而不是通过换行符?这是我用的程序。
#include <stdio.h>
main()
{
int c;
while ((c = getchar()) != EOF)
{
if ( c == ' ' || c == '\n' || c == '\t&
所以我需要打印一个坐标系,这是我所做的
#include<stdio.h>
int main() {
int n, x, y;
do {
printf("Enter the size: ");
scanf("%d", &n);
printf("Enter coordinates (x,y): ");
scanf("%d %d", &x, &y);