All containers have a default tablespace:
SQL> select p1.name, p2.property_name, p2.property_value
from v$containers p1 join cdb_properties p2 on (p1.con_id = p2.con_id)
where property_name = 'DEFAULT_PERMANENT_TABLESPACE' order by 1;
NAME PROPERTY_NAME PROPERTY_VALUE
---------- ------------------------------ --------------------
CDB$ROOT DEFAULT_PERMANENT_TABLESPACE USERS
PDB1 DEFAULT_PERMANENT_TABLESPACE USERS
PDB2 DEFAULT_PERMANENT_TABLESPACE SALES
Create the user without specifying anything:
SQL> create user c##myadmin identified by password;
User created.
SQL> select p1.name, u.default_tablespace
from v$containers p1 join cdb_users u on (p1.con_id = u.con_id)
where username = 'C##MYADMIN' order by 1;
NAME DEFAULT_TABLESPACE
---------- ------------------------------
CDB$ROOT USERS
PDB1 USERS
PDB2 SALES
Then alter the user in the root container:
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> alter user c##myadmin default tablespace admints quota unlimited on admints container=current;
User altered.
SQL> select p1.name, u.default_tablespace
from v$containers p1 join cdb_users u on (p1.con_id = u.con_id)
where username = 'C##MYADMIN' order by 1;
NAME DEFAULT_TABLESPACE
---------- ------------------------------
CDB$ROOT ADMINTS
PDB1 USERS
PDB2 SALES
SQL> select c.name, q.tablespace_name, q.max_bytes
from v$containers c join cdb_ts_quotas q on (c.con_id = q.con_id)
where q.username = 'C##MYADMIN';
NAME TABLESPACE_NAME MAX_BYTES
---------- ------------------------------ ----------
CDB$ROOT ADMINTS -1