В чем разница в следующем? (С)(C) Изменения размера массива Char после ввода?
char x[100] ;
char y[] = ""; // no space between the double quotations
char z[] = " "; // space between the double quotations
если пользователь ввел вход для примера «тест» в массиве у, делает это изменения размера до 5?
char y[] ="";
gets(y); // user entered "test"
, и если пользователь вводит ввод размером более 100 в массиве x, изменяется ли его размер?
char x[100] ;
gets(x); // user entered an input larger than 100
и почему этот код работает: (если пользователь ввел "тест", он будет печатать "тест")
#include<stdio.h>
#include<string.h>
int main(){
char name[] = " " ; // space between the double quotations
gets(name);
for(int i=0 ; i< strlen(name) ; i++) {
printf("%c",name[i]);
}
return 0 ;
}
и это один не делает? (Это один печатает странные символы) (если пользователь ввел «тест» будет печатать «T» и смайлик символ)
#include<stdio.h>
#include<string.h>
int main(){
char name[] = "" ; // no space between the double quotations
gets(name);
for(int i=0 ; i< strlen(name) ; i++) {
printf("%c",name[i]);
}
return 0 ;
}
и это один делает меня с ума, он работал без петли, даже без пробелов двойные котировки
#include<stdio.h>
#include<string.h>
int main(){
char name[] = "" ; // no space between the double quotations
gets(name);
printf("%c",name[0]);
printf("%c",name[1]);
printf("%c",name[2]);
printf("%c",name[3]);
return 0 ;
}
и это один работает, используя (путы) даже без пробела между двойными цитатами:
#include<stdio.h>
#include<string.h>
int main(){
char name[] = "" ;
gets(name);
puts(name);
return 0 ;
}
Это ваша домашняя работа? – Eregrith
Никогда не используйте 'gets()' специально в вашем случае, это очень плохая идея. –
некоторая информация http://stackoverflow.com/questions/27243188/difference-between-assigning-strings/27243241#27243241 –