#c #loops #for-loop #printf
#c #циклы #для цикла #printf
Вопрос:
Предположим, что мой код
void main()
{
for(i=1;i<5;i )
{
printf("%d, ",i);
}
}
Вывод этой программы будет
1, 2, 3, 4,
Как я могу получить вывод, например
1, 2, 3, 4
Последний ,
символ следует опустить.
Ответ №1:
#include <stdio.h>
int main(void)
{
const char *pad = "";
for (int i = 1; i < 5; i )
{
printf("%s%d", pad, i);
pad = ", ";
}
putchar('n');
return 0;
}
Вы не можете «удалить» символ после его печати. Вы должны кодировать так, чтобы не печатать то, что на самом деле не требуется.
Ответ №2:
Используйте оператор if. Например
#include <stdio.h>
int main( void )
{
for ( int i = 1; i < 5; i )
{
if ( i != 1 ) printf( ", " );
printf( "%d", i );
}
putchar( 'n' );
}
Вывод программы
1, 2, 3, 4
Или для вывода строки.
#include <stdio.h>
int main( void )
{
const char *s = "1234";
for ( const char *p = s; *p; p )
{
if ( p != s ) printf( ", " );
putchar( *p );
}
putchar( 'n' );
}
Снова вывод программы
1, 2, 3, 4
Комментарии:
1. Ваш первый легко понять. Спасибо!
Ответ №3:
Используя if и else ….!!!!
#include <stdio.h>
int main() {
// Write C code here
int i;
for(i=1;i<5;i ){
if(i==4){
printf("%d",i);
}
else{
printf("%d, ",i);}
}
return 0;
}